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
This commit is contained in:
Tk-Glitch
2020-06-30 01:45:37 +02:00
parent 7fe4a70842
commit 44e2576a42
4 changed files with 52 additions and 4 deletions

View File

@@ -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 */

View File

@@ -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 */

View File

@@ -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 */