Messages in this thread | | | Date | Sun, 30 Sep 2007 18:52:53 -0400 | From | Mark Lord <> | Subject | Re: 32-bit Athlon X2 won't poweroff (was: Fix SMP poweroff hangs) |
| |
Santiago Garcia Mantinan wrote: > I booted into single mode, then umounted all unneeded stuff and put / to ro, > stopped all unused raids, ... then did... .. >> strace /bin/halt -f -p .. > rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 > rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0 > rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 > nanosleep({2, 0}, {2, 0}) = 0 > reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_RESTART|0x88888888) = 0 > kill(1, SIGTSTP) = 0 > reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, LINUX_REBOOT_CMD_POWER_OFF <unfinished ... exit status 0> > > Same output on the screen as I commented before, again I got to the shell > and this time I even typed some commands like ps and amazingly they still > worked, even though this was supposed to be halted.
Mmm.. okay, user space is doing the right things.
So next is inside the kernel itself, at linux/kernel/sys.c :: sys_reboot(), where we see this code:
/* Instead of trying to make the power_off code look like * halt when pm_power_off is not set do it the easy way. */ if ((cmd == LINUX_REBOOT_CMD_POWER_OFF) && !pm_power_off) cmd = LINUX_REBOOT_CMD_HALT;
This converts a "poweroff" into a "reboot" if no machine dependent power off function has been bound in (pm_power_off() is a function pointer).
So for this to work, I believe that either ACPI or APM has to have been configured into the kernel (and the modules loaded). Your kernel .config from earlier shows ACPI built-in to the kernel core, so it should be present.
Unless you booted with noacpi or some such parameter.. So let's have a look at the kernel boot logs, and you could also try CONGIG_ACPI_DEBUG=y
Bizarre (and nothing to do with my patch).
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |