Bug 10897
Summary: | Disabling irq balance in kernel prevents laptop power off by sysrq | ||
---|---|---|---|
Product: | ACPI | Reporter: | Rus (harbour) |
Component: | Power-Off | Assignee: | Zhang Rui (rui.zhang) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | acpi-bugzilla |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.25.6 SMP | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
patch: do sysrq power off in a thread
2.6.25.9 oops patch v2 patch-01 patch -02 patch-introduce-queue_work_on patch-run-sysrq-poweroff-on-boot-cpu |
Description
Rus
2008-06-12 04:40:28 UTC
does this have any effect on # poweroff or is this a sysrq specific issue? do the other sysrq commands still work? poweroff still works, other sysrq commands works too. Hi, Rus Will you please get the output of dmesg through serial console in case of sysrq-off can't work? Thanks. Sorry, my laptop has no serial port (acer ferrari 1100). Did you try to reproduce this bug ? If it is not reproducable on your hardware I can try to find one with the serial port. Created attachment 16613 [details]
patch: do sysrq power off in a thread
power off need to disable non boot cpus.
run this in a thread rather than in a work queue so that it can be scheduled to the boot processor when necessary.
please apply this patch to the latest kernel and see if it helps. :)
Now I've got oopses in any sysrq power off case. Oops image attached, sorry for quality - old treo camera ;) Created attachment 16615 [details]
2.6.25.9 oops
Created attachment 16616 [details]
patch v2
do sysrq on cpu0
please give it a try
Thanks, last patch works for me. Don't know if such big delay (1 sec) is needed before poweroff. Hi, rus, the patch in comment #8 is not for upstream. It just help me verifies the problem. I'll cook up an upstream patch some time next week as I'm really busy now. :) is that okay? Ok, I can wait as long as needed. Created attachment 16660 [details]
patch-01
Created attachment 16661 [details]
patch -02
please apply these two patches and see if it can work for you. :)
Thanks, it works too. Created attachment 16706 [details]
patch-introduce-queue_work_on
Created attachment 16707 [details]
patch-run-sysrq-poweroff-on-boot-cpu
Hi, Rus,
please test these two patches,
I'll try to push them upstream if they work for you. :)
This version works ok. shipped in linux-2.6.27-rc1 closed commit 2f15fc4bdf91eb399da3f47a09c55831d9f22826 Author: Zhang Rui <rui.zhang@intel.com> Date: Wed Jul 23 21:28:40 2008 -0700 pm: 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 [kosaki.motohiro@jp.fujitsu.com: build fix] Signed-off-by: Zhang Rui <rui.zhang@intel.com> Tested-by: Rus <harbour@sfinx.od.ua> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |