Kernel Bug Tracker – Bug 11563
kacpi_notify and kacpid causing high cpu load after resume
Last modified: 2008-10-27 19:30:22 UTC
Latest working kernel version: ?
Earliest failing kernel version: 2.6.27-rc6, openSUSE kernel 184.108.40.206
Distribution: openSUSE 11.0
Hardware Environment: Dell Latitude D820, intel i945GM
Software Environment: suspend-0.80.20080523
Problem Description: Coming back after suspend to RAM the two processes kacpi_notify and kacpid cause very high cpu load. If I enable acpi debug logging they keep spamming my syslog.
Steps to reproduce: suspend to RAM and resume
I will attach dmidecode and kernel log
Created attachment 17760 [details]
Created attachment 17761 [details]
kernel output after resuming
Will you please attach the output of acpidump?
It will be great if you attach the output of lspci -vxx before and after suspend/resume.
Created attachment 17790 [details]
Created attachment 17791 [details]
lspci output before suspending
Created attachment 17792 [details]
lspci output after resuming
The difference seems to be in the libata area as far as I can see.
Will you please attach the output of lspci -vxxx(not lspci -vxx) before and after suspend/resume?
I am sorry for my fault.
Will you please try the early version kernel(for example: 220.127.116.11) and see whether the system can work well after resuming?
It will be great if you can confirm whether the windows can work well after resuming from S3?
Will you please add the boot option of "libata.noacpi=1" on the 2.6.27-rc6 kernel and see whether the problem still exists?
I can try later, but first I want to let you know about some new thing: I found out that it is apparently connected to the status of my dvd drive: If that is plugged in, everything works fine. If not, the described behaviour occurs.
To clarify I will attach the output of lspci -vxxx after resuming without the drive and the output after connecting the drive.
Created attachment 17799 [details]
output after resume without dvd drive
Created attachment 17800 [details]
lspci output after resume after inserting dvd drive
can you please try this patch set?
At runtime, can you check if hotplug dvd drive work?
As far as I can see everything works perfect using that patchset (especially battery hotplug is nice :))
Inserting the drive gives:
[ 255.502166] ACPI: \_SB_.PCI0.IDE0.SEC0.MAST - docking
[ 255.504641] ata2: exception Emask 0x10 SAct 0x0 SErr 0x0 action 0xe frozen
[ 255.504655] ata2: ACPI event
[ 255.504703] ata2: soft resetting link
[ 255.532205] psmouse.c: GlidePoint at isa0060/serio1/input0 lost sync at byte 1
[ 255.533308] psmouse.c: GlidePoint at isa0060/serio1/input0 lost sync at byte 1
[ 255.534432] psmouse.c: GlidePoint at isa0060/serio1/input0 lost sync at byte 1
[ 255.550896] psmouse.c: GlidePoint at isa0060/serio1/input0 - driver resynched.
[ 255.658582] ata2.00: ATAPI: PHILIPS DVD+/-RW SDVD8820, AD20, max UDMA/33
[ 255.715624] ata2.00: configured for UDMA/33
[ 255.715643] ata2: EH complete
[ 255.742881] scsi 1:0:0:0: CD-ROM PHILIPS DVD+-RW SDVD8820 AD20 PQ: 0 ANSI: 5
[ 255.743150] scsi 1:0:0:0: Attached scsi generic sg1 type 5
[ 255.795111] Driver 'sr' needs updating - please use bus_type methods
[ 255.935626] sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
[ 255.935638] Uniform CD-ROM driver Revision: 3.20
[ 255.937023] sr 1:0:0:0: Attached scsi CD-ROM sr0
[ 318.150054] ata2.00: disabled
[ 318.150140] ACPI: \_SB_.PCI0.IDE0.SEC0.MAST - undocking
[ 318.150967] ata2.00: detaching (SCSI 1:0:0:0)
[ 318.152069] ACPI: \_SB_.PCI0.IDE0.SEC0.MAST - docking
[ 318.152585] ACPI: Unable to dock!
I'm affected by this bug as well, on a Dell Latitude D610:
With the DVD drive in the media bay => no problem
Without the DVD drive in the media bay => kacpid + kacpi_notify using 100% CPU after resume.
I can help with testing a patch targetted at 2.6.27, if needed.
Please try the patch set as what Shaohua said in comment #13.
linus' git tree fails to build with the patch:
Building modules, stage 2.
MODPOST 2109 modules
ERROR: "acpi_os_hotplug_execute" [drivers/acpi/dock.ko] undefined!
WARNING: modpost: Found 6 section mismatch(es).
To see full details build your kernel with:
make: *** [__modpost] Error 1
make: *** [modules] Error 2
make: Leaving directory `/tmp/linux-2.6'
make: *** [debian/stamp-build-kernel] Error 2
make: Leaving directory `/tmp/linux-2.6'
dpkg-buildpackage: failure: debian/rules build gave error exit status 2
I would be easier if you had a git repo I could pull from.
Did you apply the whole patch set or only one patch?
all of it, AFAIK. There were some conflicts that I had to solve manually.
please add "EXPORT_SYMBOL(acpi_os_hotplug_execute);" below the definition of acpi_os_hotplug_execute.
it works fine with the patch (after adding EXPORT_SYMBOL). I tried to suspend/resume 3 times.
What's the next step to get it into 2.6.27?
actually, a few minutes after resuming, my touchpad, and some of my keyboard's keys, stopped working. so something might still be broken.
a refreshed version of the patch series mentioned in comment #13
is included in the acpi-test tree, and linux-next tree,
staged for 2.6.28-rc1.
shipped in linux-2.6.28-rc1