You are not logged in.
After running pm-suspend, I noticed that ksoftirqd is constantly pegged at 100% CPU:
top - 15:50:39 up 5 min, 1 user, load average: 1.32, 0.41, 0.14
Tasks: 85 total, 2 running, 83 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2%us, 0.3%sy, 0.0%ni, 49.8%id, 0.0%wa, 0.0%hi, 49.7%si, 0.0%st
Mem: 481440k total, 76584k used, 404856k free, 6808k buffers
Swap: 2104472k total, 0k used, 2104472k free, 36948k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4 root 20 0 0 0 0 R 100 0.0 0:44.00 ksoftirqd/0
1810 root 40 0 2308 1008 800 R 0 0.2 0:00.06 top
1 root 40 0 1688 572 508 S 0 0.1 0:00.95 init
2 root 40 0 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0 0.0 0:00.00 migration/0
5 root RT 0 0 0 0 S 0 0.0 0:00.00 watchdog/0
9 root 20 0 0 0 0 S 0 0.0 0:00.00 events/0
(snip)
I tried using oprofile to see what is happening, and I noticed that there are a lot of samples in 'scsi_mod', which seems like something that could be used by ksoftirqd. Along those lines, I then tried to rmmod certain kernel modules before suspending, and discovered that removing 'sr_mod' before the suspend fixes the problem.
With sr_mod removed, the system comes back from suspend without the ksoftirqd problem. If I then try to 'modprobe sr_mod', the CLI will never return and from another TTY I can see that the ksoftirqd CPU usage has peaked again.
If anyone has any suggestions or patches to try, please do let me know! I'm currently running kernel26 2.6.32.4-1 and the same problem was happening with 2.6.32.3.
Details below.
# uname -a
Linux nyx 2.6.32-ARCH #1 SMP PREEMPT Tue Jan 19 06:08:04 UTC 2010 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
# pacman -Qi kernel26
Name : kernel26
Version : 2.6.32.4-1
URL : http://www.kernel.org
Licenses : GPL2
Groups : base
Provides : None
Depends On : coreutils kernel26-firmware>=2.6.32 module-init-tools mkinitcpio>=0.5.20
Optional Deps : crda: to set the correct wireless channels of your country
Required By : None
Conflicts With : None
Replaces : kernel24 kernel24-scsi kernel26-scsi alsa-driver ieee80211 hostap-driver26 pwc nforce squashfs unionfs ivtv zd1211 kvm-modules
iwlwifi rt2x00-cvs gspcav1 atl2 wlan-ng26 rt2500
Installed Size : 78846.00 K
Packager : Tobias Powalowski <tpowa@archlinux.org>
Architecture : i686
Build Date : Mon 18 Jan 2010 10:10:25 PM PST
Install Date : Wed 20 Jan 2010 09:42:29 PM PST
Install Reason : Explicitly installed
Install Script : Yes
Description : The Linux Kernel and modules
Here's pm-suspend.log when sr_mod is loaded:
Initial commandline parameters:
Tue Jan 26 15:49:44 PST 2010: Running hooks for suspend.
/usr/lib/pm-utils/sleep.d/00auto-quirk suspend suspend: Adding quirks from HAL: --quirk-dpms-on --quirk-dpms-suspend --quirk-vbe-post --quirk-vbemode-restore --quirk-vbestate-restore --quirk-vga-mode-3
success.
/usr/lib/pm-utils/sleep.d/00logging suspend suspend: Linux nyx 2.6.32-ARCH #1 SMP PREEMPT Tue Jan 19 06:08:04 UTC 2010 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
Module Size Used by
ipv6 237532 12
ext2 56463 1
snd_seq_dummy 1099 0
snd_seq_oss 25304 0
snd_seq_midi_event 4452 1 snd_seq_oss
snd_seq 42628 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device 4313 3 snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss 33693 0
ohci_hcd 19732 0
ehci_hcd 31434 0
sis_agp 3461 1
snd_mixer_oss 14810 1 snd_pcm_oss
fan 2598 0
8139too 17116 0
usbcore 118921 3 ohci_hcd,ehci_hcd
agpgart 23331 1 sis_agp
psmouse 55619 0
snd_intel8x0 21848 0
battery 7328 0
snd_ac97_codec 85937 1 snd_intel8x0
ac 2255 0
ac97_bus 750 1 snd_ac97_codec
snd_pcm 57479 3 snd_pcm_oss,snd_intel8x0,snd_ac97_codec
shpchp 26592 0
snd_timer 16117 2 snd_seq,snd_pcm
pcspkr 1347 0
thermal 9326 0
snd 43847 9 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer
processor 25790 0
button 3638 0
lp 6616 0
ppdev 4882 0
sg 21079 0
evdev 6970 3
serio_raw 3620 0
pci_hotplug 23492 1 shpchp
parport_pc 27680 1
8139cp 15404 0
mii 3218 2 8139too,8139cp
soundcore 5007 1 snd
snd_page_alloc 5809 2 snd_intel8x0,snd_pcm
parport 26575 3 lp,ppdev,parport_pc
rtc_cmos 7504 0
rtc_core 12011 1 rtc_cmos
rtc_lib 1450 1 rtc_core
ext3 113026 2
jbd 38906 1 ext3
mbcache 4278 2 ext2,ext3
raid1 19711 2
md_mod 79780 3 raid1
sd_mod 24101 7
sr_mod 13161 0
cdrom 31625 1 sr_mod
pata_sis 7315 5
ata_generic 2235 0
pata_acpi 2264 0
libata 135162 3 pata_sis,ata_generic,pata_acpi
scsi_mod 78933 4 sg,sd_mod,sr_mod,libata
dm_mod 54323 6
total used free shared buffers cached
Mem: 481440 76436 405004 0 6764 36660
-/+ buffers/cache: 33012 448428
Swap: 2104472 0 2104472
success.
/usr/lib/pm-utils/sleep.d/00powersave suspend suspend: success.
/usr/lib/pm-utils/sleep.d/01grub suspend suspend: not applicable.
/usr/lib/pm-utils/sleep.d/11netcfg suspend suspend: success.
/usr/lib/pm-utils/sleep.d/49bluetooth suspend suspend: not applicable.
/usr/lib/pm-utils/sleep.d/55NetworkManager suspend suspend: success.
/usr/lib/pm-utils/sleep.d/75modules suspend suspend: not applicable.
/usr/lib/pm-utils/sleep.d/90clock suspend suspend: not applicable.
/usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend: success.
/usr/lib/pm-utils/sleep.d/95led suspend suspend: not applicable.
/usr/lib/pm-utils/sleep.d/98smart-kernel-video suspend suspend: not applicable.
/usr/lib/pm-utils/sleep.d/99video suspend suspend: kernel.acpi_video_flags = 0
Allocated buffer at 0x2010 (base is 0x0)
ES: 0x0201 EBX: 0x0000
success.
Tue Jan 26 15:49:44 PST 2010: performing suspend
Tue Jan 26 15:49:55 PST 2010: Awake.
Tue Jan 26 15:49:55 PST 2010: Running hooks for resume
/usr/lib/pm-utils/sleep.d/99video resume suspend: Function not supported
success.
/usr/lib/pm-utils/sleep.d/98smart-kernel-video resume suspend: success.
/usr/lib/pm-utils/sleep.d/95led resume suspend: not applicable.
/usr/lib/pm-utils/sleep.d/94cpufreq resume suspend: success.
/usr/lib/pm-utils/sleep.d/90clock resume suspend: not applicable.
/usr/lib/pm-utils/sleep.d/75modules resume suspend: success.
/usr/lib/pm-utils/sleep.d/55NetworkManager resume suspend: success.
/usr/lib/pm-utils/sleep.d/49bluetooth resume suspend: not applicable.
/usr/lib/pm-utils/sleep.d/11netcfg resume suspend: success.
/usr/lib/pm-utils/sleep.d/01grub resume suspend: not applicable.
/usr/lib/pm-utils/sleep.d/00powersave resume suspend: success.
/usr/lib/pm-utils/sleep.d/00logging resume suspend: success.
/usr/lib/pm-utils/sleep.d/00auto-quirk resume suspend: success.
Tue Jan 26 15:49:56 PST 2010: Finished.
Here's pm-suspend.log with sr_mod removed:
Initial commandline parameters:
Tue Jan 26 16:07:51 PST 2010: Running hooks for suspend.
/usr/lib/pm-utils/sleep.d/00auto-quirk suspend suspend: Adding quirks from HAL: --quirk-dpms-on --quirk-dpms-suspend --quirk-vbe-post --quirk-vbemode-restore --quirk-vbestate-restore --quirk-vga-mode-3
success.
/usr/lib/pm-utils/sleep.d/00logging suspend suspend: Linux nyx 2.6.32-ARCH #1 SMP PREEMPT Tue Jan 19 06:08:04 UTC 2010 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
Module Size Used by
ipv6 237532 12
ext2 56463 1
snd_intel8x0 21848 0
snd_seq_dummy 1099 0
snd_ac97_codec 85937 1 snd_intel8x0
snd_seq_oss 25304 0
snd_seq_midi_event 4452 1 snd_seq_oss
snd_seq 42628 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device 4313 3 snd_seq_dummy,snd_seq_oss,snd_seq
fan 2598 0
snd_pcm_oss 33693 0
8139too 17116 0
ac97_bus 750 1 snd_ac97_codec
snd_mixer_oss 14810 1 snd_pcm_oss
ppdev 4882 0
lp 6616 0
battery 7328 0
ohci_hcd 19732 0
psmouse 55619 0
snd_pcm 57479 3 snd_intel8x0,snd_ac97_codec,snd_pcm_oss
8139cp 15404 0
ac 2255 0
parport_pc 27680 1
ehci_hcd 31434 0
snd_timer 16117 2 snd_seq,snd_pcm
pcspkr 1347 0
parport 26575 3 ppdev,lp,parport_pc
sis_agp 3461 1
button 3638 0
processor 25790 0
thermal 9326 0
agpgart 23331 1 sis_agp
mii 3218 2 8139too,8139cp
serio_raw 3620 0
sg 21079 0
shpchp 26592 0
usbcore 118921 3 ohci_hcd,ehci_hcd
evdev 6970 3
snd 43847 9 snd_intel8x0,snd_ac97_codec,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer
soundcore 5007 1 snd
snd_page_alloc 5809 2 snd_intel8x0,snd_pcm
pci_hotplug 23492 1 shpchp
rtc_cmos 7504 0
rtc_core 12011 1 rtc_cmos
rtc_lib 1450 1 rtc_core
ext3 113026 2
jbd 38906 1 ext3
mbcache 4278 2 ext2,ext3
raid1 19711 2
md_mod 79780 3 raid1
cdrom 31625 0
sd_mod 24101 7
pata_sis 7315 5
ata_generic 2235 0
pata_acpi 2264 0
libata 135162 3 pata_sis,ata_generic,pata_acpi
scsi_mod 78933 3 sg,sd_mod,libata
dm_mod 54323 6
total used free shared buffers cached
Mem: 481440 95964 385476 0 7532 51876
-/+ buffers/cache: 36556 444884
Swap: 2104472 0 2104472
success.
/usr/lib/pm-utils/sleep.d/00powersave suspend suspend: success.
/usr/lib/pm-utils/sleep.d/01grub suspend suspend: not applicable.
/usr/lib/pm-utils/sleep.d/11netcfg suspend suspend: success.
/usr/lib/pm-utils/sleep.d/49bluetooth suspend suspend: not applicable.
/usr/lib/pm-utils/sleep.d/55NetworkManager suspend suspend: success.
/usr/lib/pm-utils/sleep.d/75modules suspend suspend: not applicable.
/usr/lib/pm-utils/sleep.d/90clock suspend suspend: not applicable.
/usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend: success.
/usr/lib/pm-utils/sleep.d/95led suspend suspend: not applicable.
/usr/lib/pm-utils/sleep.d/98smart-kernel-video suspend suspend: not applicable.
/usr/lib/pm-utils/sleep.d/99video suspend suspend: kernel.acpi_video_flags = 0
Allocated buffer at 0x2010 (base is 0x0)
ES: 0x0201 EBX: 0x0000
success.
Tue Jan 26 16:07:52 PST 2010: performing suspend
Tue Jan 26 16:08:08 PST 2010: Awake.
Tue Jan 26 16:08:08 PST 2010: Running hooks for resume
/usr/lib/pm-utils/sleep.d/99video resume suspend: Function not supported
success.
/usr/lib/pm-utils/sleep.d/98smart-kernel-video resume suspend: success.
/usr/lib/pm-utils/sleep.d/95led resume suspend: not applicable.
/usr/lib/pm-utils/sleep.d/94cpufreq resume suspend: success.
/usr/lib/pm-utils/sleep.d/90clock resume suspend: not applicable.
/usr/lib/pm-utils/sleep.d/75modules resume suspend: success.
/usr/lib/pm-utils/sleep.d/55NetworkManager resume suspend: success.
/usr/lib/pm-utils/sleep.d/49bluetooth resume suspend: not applicable.
/usr/lib/pm-utils/sleep.d/11netcfg resume suspend: success.
/usr/lib/pm-utils/sleep.d/01grub resume suspend: not applicable.
/usr/lib/pm-utils/sleep.d/00powersave resume suspend: success.
/usr/lib/pm-utils/sleep.d/00logging resume suspend: success.
/usr/lib/pm-utils/sleep.d/00auto-quirk resume suspend: success.
Tue Jan 26 16:08:09 PST 2010: Finished.
Offline
Just for an update, the problem is still happening on kernel 2.6.32.6-1:
# uname -a
Linux nyx 2.6.32-ARCH #1 SMP PREEMPT Mon Jan 25 20:06:48 UTC 2010 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
# pacman -Qi kernel26
Name : kernel26
Version : 2.6.32.6-1
URL : http://www.kernel.org
Licenses : GPL2
Groups : base
Provides : None
Depends On : coreutils kernel26-firmware>=2.6.32 module-init-tools mkinitcpio>=0.5.20
Optional Deps : crda: to set the correct wireless channels of your country
Required By : None
Conflicts With : None
Replaces : kernel24 kernel24-scsi kernel26-scsi alsa-driver ieee80211 hostap-driver26 pwc nforce squashfs unionfs
ivtv zd1211 kvm-modules iwlwifi rt2x00-cvs gspcav1 atl2 wlan-ng26 rt2500
Installed Size : 78670.00 K
Packager : Tobias Powalowski <tpowa@archlinux.org>
Architecture : i686
Build Date : Mon 25 Jan 2010 12:09:08 PM PST
Install Date : Wed 27 Jan 2010 06:42:40 PM PST
Install Reason : Explicitly installed
Install Script : Yes
Description : The Linux Kernel and modules
Offline
Hello, archwade
I have similar problem. Try to create /etc/pm/sleep.d/66dummy with the following:
#!/bin/bash
case $1 in
hibernate)
modprobe -r sr_mod
;;
suspend)
modprobe -r sr_mod
;;
*) echo "somebody is calling me totally wrong."
;;
esac
For me it resolves the problem.
Offline