Bug 409801

Summary: kacpid / kacpi_notify using an entire CPU after s2disk
Product: [openSUSE] openSUSE 11.0 Reporter: Len Day <led>
Component: KernelAssignee: Thomas Renninger <trenn>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Final   
Target Milestone: ---   
Hardware: i686   
OS: openSUSE 11.0   
Whiteboard:
Found By: Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Len Day 2008-07-17 03:39:23 UTC
A lot of the time (not always) these two processes are running and using 100% of a CPU between them.  After reboot they seem OK, then seem to build up although I haven't fully proven this.

Platform is a Dell D820, O/S is SuSE 11.0, all updates installed.  I haven't customized any power management settings.  Desktop is KDE 3.  

From things I find on the net disabling acpi would probably fix it but this is a notebook and power management matters...
Comment 1 Cyril Hrubis 2008-07-17 08:17:41 UTC
Suppose these are kernel threads.
Comment 2 Thomas Renninger 2008-07-19 08:29:13 UTC
Does it solve your problem if you unload the battery driver:
rmmod battery
Comment 3 Len Day 2008-07-19 09:07:09 UTC
I have some more info.  It turns out that this is stimulated by a suspend to disk / resume.  That is why I just saw it sometimes but it seems to be completely reproducable that it occurs if and only if I suspend.

I did try rmmod battery when it was in the condition and it made no difference.  I rebooted and removed battery, then suspended and resumed.  The condition reoccurred.

The BIOS version on the box is A07, I believe that it is fairly recent.  I am using the Nvidia proprietary driver for video, it used to have power management problems but I thought that they fixed it.

And yes, they are kernel threads, they always have PIDs of 12 and 13 and they will not die...

Thanks for looking into it.
Comment 4 Thomas Renninger 2008-07-19 10:07:37 UTC
I expect this is a duplicate of bug 410612 or bug 401740.
Can you try this kernel:
ftp.suse.com/pub/people/trenn/kacpid_after_suspend_fixed

If this one works for you, please also try the appropriate arch kernel-default from here:
ftp://ftp.suse.com/pub/projects/kernel/kotd/SL110_BRANCH
Comment 5 Thomas Renninger 2008-07-19 10:15:10 UTC
What kind of model is that, is this also a DELL?
Comment 6 Len Day 2008-07-20 04:03:28 UTC
I tried this kernel:

ftp.suse.com/pub/people/trenn/kacpid_after_suspend_fixed

and it seemed to work fine, I have done a number of suspend / resumes without kacpid going into a loop.

With the branch kernel I had two problems.  

The first time I did suspend and resumed, it didn't come back up.  Console 1 ended with the maessage "Image loaded successfully" and it hung, console 7 had a cursor blinking in the upper left and nothing else worked.

I don't think this is a new problem, I have gotten failures like this occasionally with the previous kernel as well.

The second time it did come up.  But kacpid was back into its loop.  So I backed it out.

Anyway, it looks like my problem is solved, thanks.
Comment 7 Thomas Renninger 2008-07-20 08:02:39 UTC
Not really. Removing the patch is not an option we need to fix it. The first attempt or say a backport pointing to this direction seem to not have succeeded.

Just to be sure the branch kernel you tried had the modifications already you can verfiy with:
rpm -qp --changelog kernel-default-XY.rpm   (on the downloaded rpm)
or
rpm -q --changelog kernel-default-2.6.25... (on the installed kernel, must match
 the exact version).

This changeset must be included:
Thu Jul 17 12:11:58 CEST 2008 - trenn@suse.de

- patches.drivers/libata-acpi_call_from_invalid_context.patch:
  libata-acpi: don't call sleeping function from invalid context
  (bnc#401740).

*** This bug has been marked as a duplicate of bug 401740 ***