Laptop lockup-kworker 100% CPU

I’ve been having trouble with 12.1 KDE 64bit locking up at random. Only a reboot will fix it. I was able to do a ctrl+Alt+F1 tonight and run top. It showed kworker at the top with 100% CPU. After running top I got an error continuously scrolling across “intel ips ME failed to update for more than 1s, likely hung”. This is a Dell Studio 1569 laptop with i5 proc. It simulates 4 cores. Only one will be 100% when this happens. I found a couple of bugs reported on this, but all seem to have had a fix released. I have seen a lot of threads for lock/freeze ups with 12.1. I wonder if this is the culprit? My daughters Dell desktop with 12.1 KDE 64bit is also freezing, but I haven’t had a chance to run it down yet. I’m betting it is the same thing.

Well, here is one quote I found about kworker…

“kworker” is a placeholder process for kernel worker threads, which perform most of the actual processing for the kernel, especially in cases where there are interrupts, timers, I/O, etc. These typically correspond to the vast majority of any allocated “system” time to running processes.

So, I wonder if this is the original kernel or if you have upgraded the kernel version of if perhaps you should upgrade the kernel version? What can you tell us about the your loaded kernel version? And, what have you done with your graphics driver? Is this the original kernel video driver or are you loading anything else?

Thank You,

It is the original desktop kernel for 12.1

Linux Dell-1569.site 3.1.0-1.2-desktop #1 SMP PREEMPT Thu Nov 3 14:45:45 UTC 2011 (187dde0) x86_64 x86_64 x86_64 GNU/Linux

I have the fglrx driver installed “ATI Radeon 4570”. I’ve been watching the interrupts to see if I can catch the culprit. I thought about updating the kernel, or maybe trying the “default” instead of the “desktop” version. It is always reproducible after returning from sleep, but still randomly. It could be any driver at this point. My guess would be either fglrx or brcmsmac. I have uninstalled the fglrx driver tonight to test that theory against the open source radeon driver. I can probably rule it in/out by tomorrow.

Dell-1569:/home/shawnr # cat /proc/interrupts           CPU0       CPU1       CPU2       CPU3       
  0:        130          7          3          5   IO-APIC-edge      timer
  1:        658        687        656        626   IO-APIC-edge      i8042
  8:          1          0          0          0   IO-APIC-edge      rtc0
  9:      25194      25141      25177      25028   IO-APIC-fasteoi   acpi
 12:      55584      55459      55421      55330   IO-APIC-edge      i8042
 16:        911        877        871        945   IO-APIC-fasteoi   ehci_hcd:usb1, mei
 17:      24291      24488      24497      24603   IO-APIC-fasteoi   brcmsmac
 18:          0          0          0          0   IO-APIC-fasteoi   ips
 23:       2219       2193       2210       2225   IO-APIC-fasteoi   ehci_hcd:usb2
 41:      10301      10441      10344      10368   PCI-MSI-edge      ahci
 42:         56         56         56         56   PCI-MSI-edge      snd_hda_intel
 43:          0          0          0          0   PCI-MSI-edge      eth0
 44:         16         14         15         15   PCI-MSI-edge      snd_hda_intel
 45:     379423     379302     379414     379463   PCI-MSI-edge      fglrx[0]@PCI:2:0:0
NMI:        545        376        383        254   Non-maskable interrupts
LOC:    1407131    1326082    1272740    1238599   Local timer interrupts
SPU:          0          0          0          0   Spurious interrupts
PMI:        545        376        383        254   Performance monitoring interrupts
IWI:          0          0          0          0   IRQ work interrupts
RES:    1516895     625543    1043422     308544   Rescheduling interrupts
CAL:       9848      17882      14581      21320   Function call interrupts
TLB:       2179       1834       2234       1876   TLB shootdowns
TRM:          0          0          0          0   Thermal event interrupts
THR:          0          0          0          0   Threshold APIC interrupts
MCE:          0          0          0          0   Machine check exceptions
MCP:         24         24         24         24   Machine check polls
ERR:          0
MIS:          0

So if it was me, I would go straight to using kernel 3.1.5 and see what that did. Also, I just noticed your signature of “Klaatu Barada Nikto”. I too am a fan of the Original black and white “The Day the Earth Stood Still” movie and have it on DVD. The remake was not very good however and nothing like the one we came to know by that same name. Too bad.

Thank You,

Yeah, I used to watch the original with my grandfather. Then that phrase popped back up in the cult classics Evil Dead/Army of Darkness (which made it famous). Klaatu Barada Nikto - YouTube If I can’t figure out which module is causing kworker to hang, I will try a newer kernel. I’ve noticed a lot less interrupts with the radeon driver versus fglrx. I haven’t had any freezes tonight without the fglrx driver. Just mainly trying to let others know what might be causing the headaches.

45:      23112       3209       3193       3171   PCI-MSI-edge      radeon
45:     379423     379302     379414     379463   PCI-MSI-edge      fglrx[0]@PCI:2:0:0

I spoke too soon. After my last post, CPU2 is hung at 100% with kworker. Where is the best source for newer kernels? The head repo or maybe tumbleweed?

On 12/10/2011 10:06 PM, 67GTA wrote:
>
> I spoke too soon. After my last post, CPU2 is hung at 100% with kworker.
> Where is the best source for newer kernels? The head repo or maybe
> tumbleweed?

There has been some chatter concerning lockups with brcmsmac. Unload it and see
if the lockups still happen.

That was my next target. I’ve installed the wl module this morning to see if the lockup persists without the brcmsmac module.

Well poo! I can’t get wl to work now. I removed brcmsmac, brcmutil, mac80211, and cfg80211 (repoted by lsmod | grep brcmsmac). Then I modprobed wl and wireless worked. I blacklisted the brcm modules reported above and set wl to load at boot. It won’t work for some reason after rebooting. I will confirm after I figure out what is going on here.

Okay, there is something fishy going on with wl. It needs lib80211, and lib80211_crypt_tkip, but they are not automatically called. I’ve added them all to /etc/sysconfig editor “MODULES_LOADED_ON_BOOT”, but lib80211, and lib80211_crypt_tkip are not loaded. If I manually modprobe lib80211 after boot, wl starts working. No freezes with wl yet by the way;)

I finally figured it out. Seems there is a new module bcma in 12.1 I haven’t seen before. It was conflicting with wl. I had to blacklist brcmsmac and bcma. I’ll have to make a mental note for future wl references.

Well my opinion is using S.A.K.C. to compile your new kernel, of course and to use S.G.T.B. to get any kernel version that you want.

Thank You,

I was reading your S.A.C.K script last night. I haven’t seen S.G.T.B. I’ll check it out. So far there haven’t been any lockups using wl. I’ll test it a couple more days to be sure. I want to read some of the kernel changelogs to see if the brcmsmac module has had any patches.

So sakc is like compiling your own kernel manually, but using a bash script. It does not mess with your existing kernel and leaves it intact. Any kernels installed using sakc must be removed manually when you no longer want them which just requires for you to manually delete the unwanted files. Never remove a kernel you are actively using. The SGTB script was written while kernel.org was down, which is now back up, but you can get more kernel versions with sqtb that are posted on the front page of kernel.org. Make sure to look at the stable repository as well as the lead or top one. Ask if you have any questions.

Thank You,

I think I have it figured out. There haven’t been anymore freezes since using wl in place of brcmsmac. It seems the CPU at 100% and the freezes were not related. Chrome seems to be what is causing the CPU problems. I’ve been using konqueror for two days without any CPU spikes. I found a few old reports of this in Windows, but none for Linux. If I open Chrome, the CPU always sticks at 100% randomly. This doesn’t happen with kong, FF, or even chromium.

Sounds like you need a newer version of CHROME I guess. I still just stick with FF and all seems well with the world.

Thank You,

Just reporting back. This is definitely a kernel issue. Any kernel above 3.0 has this freeze. I just dropped back to 2.6.39, and haven’t had a freeze for three days with all previous apps I suspected open at the same time. I wish I could file a bug report, but when it freezes, it is totally locked up with no logs for clues. The syslog before the last freeze showed a cron job running and then nothing but red 0’s until the next reboot.

I have the same problem. I am using openSUSE 12.1 GNOME. I have noticed that kworker used a lot the CPU after the screen was locked because of inactivity. By now, I have disabled the screen-saver and the turn-off screen option as work around.

I will tell you what happen next.

Edwin.

OK. It has worked fine for five days. I think it is a good work around.

Edwin.