acpi module delay (hang) for long periods affecting battery ac thermal and hal delay during boot

Bug #106399 reported by Jason Straight
4
Affects Status Importance Assigned to Milestone
linux-source-2.6.20 (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: linux-image-2.6.20-15-generic

On my Sager NP-4750 with 2.6.20 kernels modprobing battery, ac and thermal take a long time, as do any programs which access those. hal, kpowermanager, gkrellm.

During boot loading acpi modules has a long delay, and starting hal takes about 64 seconds longer with those modules inserted than w/o them.

Startup w/o acpi modules for batt and ac:
 root@jkd:~# time /etc/init.d/dbus start
  * Starting system message bus dbus [ OK ]
  * Starting Hardware abstraction layer hald [ OK ]
  * Starting DHCP D-Bus daemon dhcdbd [ OK ]
  * Starting network connection manager NetworkManager [ OK ]
  * Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon [ OK ]
  * Starting network events dispatcher NetworkManagerDispatcher [ OK ]
real 0m6.661s
 user 0m0.169s
 sys 0m0.097s
root@jkd:~# time modprobe ac

real 0m0.518s
user 0m0.012s
sys 0m0.005s
root@jkd:~# time modprobe thermal

real 0m4.554s
user 0m0.012s
sys 0m0.008s
root@jkd:~# time modprobe battery

real 0m19.026s
user 0m0.013s
sys 0m0.004s
 root@jkd:~# time /etc/init.d/dbus start
  * Starting system message bus dbus [ OK ]
  * Starting Hardware abstraction layer hald [ OK ]
  * Starting DHCP D-Bus daemon dhcdbd [ OK ]
  * Starting network connection manager NetworkManager [ OK ]
  * Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon [ OK ]
  * Starting network events dispatcher NetworkManagerDispatcher [ OK ]
real 1m10.391s
 user 0m0.261s
 sys 0m0.149s
And this is what syslog says:
 Mar 31 01:17:06 jkd hald[8852]: 01:17:06.499 [I] acpi.c:1225: acpi_add: acpi_path=/proc/acpi/battery/BAT0 acpi_type=0, parent=0x00000000
 Mar 31 01:17:44 jkd hald[8852]: 01:17:44.505 [D] acpi.c:162: Current voltage is unknown, smaller than 501001765435r greater than design
 Mar 31 01:17:44 jkd hald[8852]: 01:17:44.519 [I] acpi.c:1197: Add callouts completed udi=/org/freedesktop/Hal/devices/acpi_BAT0
 Mar 31 01:17:44 jkd hald[8852]: 01:17:44.520 [I] hald.c:106: Added device to GDL; udi=/org/freedesktop/Hal/devices/acpi_BAT0
 Mar 31 01:17:44 jkd hald[8852]: 01:17:44.520 [I] acpi.c:1225: acpi_add: acpi_path=/proc/acpi/processor/CPU0 acpi_type=1, parent=0x00000000
 Mar 31 01:17:44 jkd hald[8852]: 01:17:44.534 [I] acpi.c:1197: Add callouts completed udi=/org/freedesktop/Hal/devices/acpi_CPU0
 Mar 31 01:17:44 jkd hald[8852]: 01:17:44.534 [I] hald.c:106: Added device to GDL; udi=/org/freedesktop/Hal/devices/acpi_CPU0
 Mar 31 01:17:44 jkd hald[8852]: 01:17:44.534 [I] acpi.c:1225: acpi_add: acpi_path=/proc/acpi/ac_adapter/AC acpi_type=3, parent=0x00000000
 Mar 31 01:18:05 jkd hald[8852]: 01:18:05.011 [D] acpi.c:162: Current voltage is unknown, smaller than 501001765435r greater than design
 Mar 31 01:18:05 jkd hald[8852]: 01:18:05.055 [I] acpi.c:1197: Add callouts completed udi=/org/freedesktop/Hal/devices/acpi_AC
 Mar 31 01:18:05 jkd hald[8852]: 01:18:05.055 [I] hald.c:106: Added device to GDL; udi=/org/freedesktop/Hal/devices/acpi_AC
 Mar 31 01:18:05 jkd hald[8852]: 01:18:05.056 [I] acpi.c:1225: acpi_add: acpi_path=/proc/acpi/button/lid/LID acpi_type=11, parent=0x00000000
 Mar 31 01:18:06 jkd hald[8852]: 01:18:06.071 [I] acpi.c:1197: Add callouts completed udi=/org/freedesktop/Hal/devices/acpi_LID
 Mar 31 01:18:06 jkd hald[8852]: 01:18:06.071 [I] hald.c:106: Added device to GDL; udi=/org/freedesktop/Hal/devices/acpi_LID
 Mar 31 01:18:06 jkd hald[8852]: 01:18:06.071 [I] acpi.c:1225: acpi_add: acpi_path=/proc/acpi/button/power/PWB acpi_type=11, parent=0x00000000
 Mar 31 01:18:06 jkd hald[8852]: 01:18:06.086 [I] acpi.c:1197: Add callouts completed udi=/org/freedesktop/Hal/devices/acpi_PWB
 Mar 31 01:18:06 jkd hald[8852]: 01:18:06.086 [I] hald.c:106: Added device to GDL; udi=/org/freedesktop/Hal/devices/acpi_PWB
 Mar 31 01:18:06 jkd hald[8852]: 01:18:06.086 [I] acpi.c:1225: acpi_add: acpi_path=/proc/acpi/button/power/PWRF acpi_type=11, parent=0x00000000
 Mar 31 01:18:06 jkd hald[8852]: 01:18:06.100 [I] acpi.c:1197: Add callouts completed udi=/org/freedesktop/Hal/devices/acpi_PWRF
 Mar 31 01:18:06 jkd hald[8852]: 01:18:06.101 [I] hald.c:106: Added device to GDL; udi=/org/freedesktop/Hal/devices/acpi_PWRF
 Mar 31 01:18:06 jkd hald[8852]: 01:18:06.101 [I] acpi.c:1225: acpi_add: acpi_path=/proc/acpi/button/sleep/SLPB acpi_type=11, parent=0x00000000
 Mar 31 01:18:06 jkd hald[8852]: 01:18:06.116 [I] acpi.c:1197: Add callouts completed udi=/org/freedesktop/Hal/devices/acpi_SLPB
 Mar 31 01:18:06 jkd hald[8852]: 01:18:06.117 [I] hald.c:106: Added device to GDL; udi=/org/freedesktop/Hal/devices/acpi_SLPB
 Mar 31 01:18:06 jkd hald[8852]: 01:18:06.118 [I] osspec.c:737: hal_util_find_known_parent: '/sys/block/hdc/fakevolume'->'/sys/block/hdc'

You can see that almost exactly one minute has passed from the first acpi to the last acpi call, as well that it takes about 20 sec just to modprobe battery.

This is a bug in the kernel but I have yet to find any record of it elsewhere, it's present in any 2.6.20 kernel I've tried, vanillay 2.6.20.4, 2.6.20.5, 2.6.21-rc4 - 2.6.21-rc5 with mm patches. I don't have any problem using my own 2.6.19.7.

Revision history for this message
Jason Straight (jason-jeetkunedomaster) wrote :

works fine in hardy 2.6.24-5

Changed in linux-source-2.6.20:
status: New → Fix Released
Revision history for this message
Markus Hoechstetter (marcush79) wrote :

the same problem occurs when using averatec e1200

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.