linux57-tkg: The execution of finish_cpu when offlining cores introduced with https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bf2c59fce4074e55d622089b34be3a6bc95484fb breaks suspend on our CPU schedulers. Skipping the call to fallback to idle_task_exit fixes it.

There are other issues regarding suspend upstream but that should cover our side of the coin.

https://gitlab.com/alfredchen/projectc/-/issues/17

Fixes https://github.com/Frogging-Family/linux-tkg/issues/24
master
Tk-Glitch 2020-06-30 01:45:37 +07:00
parent 7fe4a70842
commit 44e2576a42
4 changed files with 52 additions and 4 deletions

@ -89,7 +89,7 @@ pkgname=("${pkgbase}" "${pkgbase}-headers")
_basekernel=5.7
_sub=6
pkgver="${_basekernel}"."${_sub}"
pkgrel=13
pkgrel=14
pkgdesc='Linux-tkg'
arch=('x86_64') # no i686 in here
url="http://www.kernel.org/"
@ -137,16 +137,16 @@ sha256sums=('de8163bb62f822d84f7a3983574ec460060bf013a78ff79cd7c979ff1ec1d7e0'
'7058e57fd68367b029adc77f2a82928f1433daaf02c8c279cb2d13556c8804d7'
'c605f638d74c61861ebdc36ebd4cb8b6475eae2f6273e1ccb2bbb3e10a2ec3fe'
'bc69d6e5ee8172b0242c8fa72d13cfe2b8d2b6601468836908a7dfe8b78a3bbb'
'4288e5c110d6edd7b7bc59794959b96cbee5e4003f38bff7b1486e2262198010'
'88c73f8960a3b7d0685a2f19b8624de3b592e451a47a51be6b66f86b7c91a0bd'
'62496f9ca788996181ef145f96ad26291282fcc3fb95cdc04080dcf84365be33'
'7fd8e776209dac98627453fda754bdf9aff4a09f27cb0b3766d7983612eb3c74'
'bd0460d436e3ade46ea20b0087f8ccf62dce00f96de76f04b74620f81e63a2dc'
'010dad2c2922c29a6d3b39dd4e78afb215e86fd1f6e0b7fc6e2e06eb0107812d'
'19661ec0d39f9663452b34433214c755179894528bf73a42f6ba52ccf572832a'
'cd225e86d72eaf6c31ef3d7b20df397f4cc44ddd04389850691292cdf292b204'
'b89d5c0e242ab2515211bf02de3098df9c0a51fe36a679817f9cb15e2e5e2b8b'
'9fad4a40449e09522899955762c8928ae17f4cdaa16e01239fd12592e9d58177'
'965a517a283f265a012545fbb5cc9e516efc9f6166d2aa1baf7293a32a1086b7'
'778dfdf05a6ca31296ac43df5eca80d917891cd9b429dcebf0ad4ef8a99eb8a7'
'72eaeaed0749b5853b28678869e69a08883e4b0b4894eb4c8c6958e7de692638'
'49262ce4a8089fa70275aad742fc914baa28d9c384f710c9a62f64796d13e104')
export KBUILD_BUILD_HOST=archlinux

@ -13124,3 +13124,19 @@ index fdbdfb7bce92..fa8e8faf3eb3 100644
} while (--timeout > 0);
if (alive)
dev_err(line6pcm->line6->ifcdev,
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 244d305443773..90b77028233b0 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -1565,7 +1565,11 @@ static struct cpuhp_step cpuhp_hp_states[] = {
[CPUHP_BRINGUP_CPU] = {
.name = "cpu:bringup",
.startup.single = bringup_cpu,
+#ifdef CONFIG_SCHED_MUQSS
+ .teardown.single = NULL,
+#else
.teardown.single = finish_cpu,
+#endif
.cant_stop = true,
},
/* Final state before CPU kills itself */

@ -8398,3 +8398,19 @@ index b5e3496cf803..0816db0b9c16 100644
};
struct wakeup_test_data *x = data;
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 244d305443773..90b77028233b0 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -1565,7 +1565,11 @@ static struct cpuhp_step cpuhp_hp_states[] = {
[CPUHP_BRINGUP_CPU] = {
.name = "cpu:bringup",
.startup.single = bringup_cpu,
+#ifdef CONFIG_SCHED_PDS
+ .teardown.single = NULL,
+#else
.teardown.single = finish_cpu,
+#endif
.cant_stop = true,
},
/* Final state before CPU kills itself */

@ -7627,3 +7627,19 @@ index b5e3496cf803..545be2c4f07c 100644
};
struct wakeup_test_data *x = data;
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 244d305443773..90b77028233b0 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -1565,7 +1565,11 @@ static struct cpuhp_step cpuhp_hp_states[] = {
[CPUHP_BRINGUP_CPU] = {
.name = "cpu:bringup",
.startup.single = bringup_cpu,
+#ifdef CONFIG_SCHED_BMQ
+ .teardown.single = NULL,
+#else
.teardown.single = finish_cpu,
+#endif
.cant_stop = true,
},
/* Final state before CPU kills itself */