Re: [PATCH] (repost) Fix SMP poweroff hangs

From: Mark Lord
Date: Sun Sep 30 2007 - 14:47:39 EST

Santiago Garcia Mantinan wrote:
I'd say your problem is more of a distro issue,
in that the method you are using to shutdown
is not actually requesting "poweroff".

That last mess above ("System halted.") comes from kernel_halt(),
rather than the expected message ("Power down.") from kernel_power_off().

So, try using the "poweroff" command instead of "halt",
or try using "halt -p". If neither of those work,

Well it works ok with 2.6.22 powering off and saying so right before
powering off, with some references to ACPI. On 2.6.23-rc8 however it doesn't
seem to get that far.

I have followed the poweroff of my distro (Debian unstable) and on getting
to the end of rc 0 it calls halt with options -d -f -i -p. So it does call
it with the -p you asked for. BTW, this halt comes fom Debian's sysvinit
version 2.86.ds1-38.1 in case that matters, but as I said it is working ok
for .22.

then edit /etc/init.d/halt and hardcode the "-p" parameter
inside there onto the "halt" command line(s).

That init.d/halt is the one that is calling halt with -d -f -i -p already.

Mmm.. then I wonder why it is not actually getting into the kernel's poweroff function?

Can you boot into single user mode ( kernel command line parameter of S ),
and then remount your filesystems all r/o (ALT-SysRQ-u + ALT-SysRQ-s,
or do it all manually if you prefer).

Then manually try this command from the primary console (Ctrl-ALT-F1):

/sbin/halt -f -p

The machine *should* poweroff.
If not, then do the whole thing again with this command:

strace /bin/halt -f -p

And see what the final syscall + parameters is. Post them here if you can.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at