acpi module delay (hang) for long periods affecting battery ac thermal and hal delay during boot
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-source-2.6.20 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: linux-image-
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 NetworkManagerD
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 NetworkManagerD
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=
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/
Mar 31 01:17:44 jkd hald[8852]: 01:17:44.520 [I] hald.c:106: Added device to GDL; udi=/org/
Mar 31 01:17:44 jkd hald[8852]: 01:17:44.520 [I] acpi.c:1225: acpi_add: acpi_path=
Mar 31 01:17:44 jkd hald[8852]: 01:17:44.534 [I] acpi.c:1197: Add callouts completed udi=/org/
Mar 31 01:17:44 jkd hald[8852]: 01:17:44.534 [I] hald.c:106: Added device to GDL; udi=/org/
Mar 31 01:17:44 jkd hald[8852]: 01:17:44.534 [I] acpi.c:1225: acpi_add: acpi_path=
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/
Mar 31 01:18:05 jkd hald[8852]: 01:18:05.055 [I] hald.c:106: Added device to GDL; udi=/org/
Mar 31 01:18:05 jkd hald[8852]: 01:18:05.056 [I] acpi.c:1225: acpi_add: acpi_path=
Mar 31 01:18:06 jkd hald[8852]: 01:18:06.071 [I] acpi.c:1197: Add callouts completed udi=/org/
Mar 31 01:18:06 jkd hald[8852]: 01:18:06.071 [I] hald.c:106: Added device to GDL; udi=/org/
Mar 31 01:18:06 jkd hald[8852]: 01:18:06.071 [I] acpi.c:1225: acpi_add: acpi_path=
Mar 31 01:18:06 jkd hald[8852]: 01:18:06.086 [I] acpi.c:1197: Add callouts completed udi=/org/
Mar 31 01:18:06 jkd hald[8852]: 01:18:06.086 [I] hald.c:106: Added device to GDL; udi=/org/
Mar 31 01:18:06 jkd hald[8852]: 01:18:06.086 [I] acpi.c:1225: acpi_add: acpi_path=
Mar 31 01:18:06 jkd hald[8852]: 01:18:06.100 [I] acpi.c:1197: Add callouts completed udi=/org/
Mar 31 01:18:06 jkd hald[8852]: 01:18:06.101 [I] hald.c:106: Added device to GDL; udi=/org/
Mar 31 01:18:06 jkd hald[8852]: 01:18:06.101 [I] acpi.c:1225: acpi_add: acpi_path=
Mar 31 01:18:06 jkd hald[8852]: 01:18:06.116 [I] acpi.c:1197: Add callouts completed udi=/org/
Mar 31 01:18:06 jkd hald[8852]: 01:18:06.117 [I] hald.c:106: Added device to GDL; udi=/org/
Mar 31 01:18:06 jkd hald[8852]: 01:18:06.118 [I] osspec.c:737: hal_util_
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.
works fine in hardy 2.6.24-5