diff mbox series

fast-reboot: fix TLB cleanup after fast reboot

Message ID 20211220110852.954111-1-npiggin@gmail.com
State Accepted
Headers show
Series fast-reboot: fix TLB cleanup after fast reboot | expand

Checks

Context Check Description
snowpatch_ozlabs/github-Docker_builds_and_checks success Successfully ran 9 jobs.

Commit Message

Nicholas Piggin Dec. 20, 2021, 11:08 a.m. UTC
POWER9/10 are missing TLB flushing after fast reboot. Add it back to
cpu_fast_reboot_complete(), which is where fast-reboot code thinks it
should be.

Suggested-by: Cédric Le Goater <clg@fr.ibm.com>
Fixes: 53ef0db6e2 ("asm/head.S: set POWER9 radix HID bit at entry")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
 core/cpu.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Cédric Le Goater Jan. 3, 2022, 2:20 p.m. UTC | #1
On 12/20/21 12:08, Nicholas Piggin wrote:
> POWER9/10 are missing TLB flushing after fast reboot. Add it back to
> cpu_fast_reboot_complete(), which is where fast-reboot code thinks it
> should be.
> 
> Suggested-by: Cédric Le Goater <clg@fr.ibm.com>
> Fixes: 53ef0db6e2 ("asm/head.S: set POWER9 radix HID bit at entry")
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

Applied to master.

Thanks,

C.
diff mbox series

Patch

diff --git a/core/cpu.c b/core/cpu.c
index 6f37358a9..016c52375 100644
--- a/core/cpu.c
+++ b/core/cpu.c
@@ -1563,6 +1563,10 @@  void cpu_fast_reboot_complete(void)
 	/* and set HID0:RADIX */
 	if (proc_gen == proc_gen_p9)
 		current_radix_mode = true;
+
+	/* P8 clears TLBs in cleanup_cpu_state() */
+	if (proc_gen >= proc_gen_p9)
+		 cleanup_global_tlb();
 }
 
 static int64_t opal_reinit_cpus(uint64_t flags)