diff mbox series

[v2,15/25] direct-controls: change p8_sreset_all_others sequence

Message ID 20171124140834.7099-16-npiggin@gmail.com
State Superseded
Headers show
Series move direct controls out of fast-reboot, generalize them, add quiescing | expand

Commit Message

Nicholas Piggin Nov. 24, 2017, 2:08 p.m. UTC
Change the p8_sreset_all_others sequence from prenap all, sreset
all; to prenap, sreset all. This makes it more suitable to fit the
direct controls APIs, which does not expose "prenap".

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
 core/direct-controls.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)
diff mbox series

Patch

diff --git a/core/direct-controls.c b/core/direct-controls.c
index 1be80c4bb..f3f61fbd5 100644
--- a/core/direct-controls.c
+++ b/core/direct-controls.c
@@ -251,20 +251,15 @@  static void p8_sreset_all_others(void)
 {
 	struct cpu_thread *cpu;
 
-	prlog(PR_DEBUG, "RESET: Pre-napping all threads but one...\n");
-
-	/* Put everybody in pre-nap except myself */
-	for_each_ungarded_cpu(cpu) {
-		if (cpu != this_cpu())
-			p8_set_direct_ctl(cpu, P8_DIRECT_CTL_PRENAP);
-	}
-
 	prlog(PR_DEBUG, "RESET: Resetting all threads but one...\n");
 
 	/* Reset everybody except my own core threads */
 	for_each_ungarded_cpu(cpu) {
-		if (cpu != this_cpu())
-			p8_set_direct_ctl(cpu, P8_DIRECT_CTL_SRESET);
+		if (cpu == this_cpu())
+			continue;
+
+		p8_set_direct_ctl(cpu, P8_DIRECT_CTL_PRENAP);
+		p8_set_direct_ctl(cpu, P8_DIRECT_CTL_SRESET);
 	}
 }