[PATCH v2 1/3] powerpc/powernv: Always stop secondaries before reboot/shutdown
Michael Ellerman
mpe at ellerman.id.au
Fri Nov 10 22:08:32 AEDT 2017
Nicholas Piggin <npiggin at gmail.com> writes:
> Currently powernv reboot and shutdown requests just leave secondaries
> to do their own things. This is undesirable because they can trigger
> any number of watchdogs while waiting for reboot, but also we don't
> know what else they might be doing, or they might be stuck somewhere
> causing trouble.
>
> The opal scheduled flash update code already ran into watchdog problems
> due to flashing taking a long time, but it's possible for regular
> reboots to trigger problems too (this is with watchdog_thresh set to 1,
> but I have seen it with watchdog_thresh at the default value once too):
>
> reboot: Restarting system
> [ 360.038896709,5] OPAL: Reboot request...
> Watchdog CPU:0 Hard LOCKUP
> Watchdog CPU:44 detected Hard LOCKUP other CPUS:16
> Watchdog CPU:16 Hard LOCKUP
> watchdog: BUG: soft lockup - CPU#16 stuck for 3s! [swapper/16:0]
>
> So remove the special case for flash update, and unconditionally do
> smp_send_stop before rebooting.
>
> Return the CPUs to Linux stop loops rather than OPAL. The reason for
> this is that the path to firmware is longer, and the CPUs may have
> been interrupted from firmware, which may cause problems to re-enter
> it. It's better to put them into a simple spin loop to maximize the
> chance of a successful reboot.
I always assumed we had to send the CPUs back to OPAL for the flashing
procedure. Is it OK to leave them in Linux?
cheers
More information about the Linuxppc-dev
mailing list