[PATCH -mm 6/8] Schedule sysrq poweroff on boot cpu

From: Rafael J. Wysocki
Date: Wed Jul 09 2008 - 20:08:26 EST


From: Zhang Rui <rui.zhang@xxxxxxxxx>
Subject: Schedule sysrq poweroff on boot cpu

schedule sysrq poweroff on boot cpu.

sysrq poweroff needs to disable nonboot cpus, and we need to run this
on boot cpu to avoid any recursion.
http://bugzilla.kernel.org/show_bug.cgi?id=10897

Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
tested-by: Rus <harbour@xxxxxxxxxxx>
Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
---
kernel/power/poweroff.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Index: linux-2.6/kernel/power/poweroff.c
===================================================================
--- linux-2.6.orig/kernel/power/poweroff.c 2008-06-30 16:01:35.000000000 +0800
+++ linux-2.6/kernel/power/poweroff.c 2008-07-03 10:50:05.000000000 +0800
@@ -25,7 +25,8 @@

static void handle_poweroff(int key, struct tty_struct *tty)
{
- schedule_work(&poweroff_work);
+ /* run sysrq poweroff on boot cpu */
+ schedule_work_on(first_cpu(cpu_online_map), &poweroff_work);
}

static struct sysrq_key_op sysrq_poweroff_op = {





--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/