Date: Wed, 16 Nov 2005 09:31:28 -0500 From: Pierre-Luc Drouin <pldrouin@pldrouin.net> To: freebsd-stable@freebsd.org Subject: Re: Performance problem since updating from 6.0-RELEASE to 6.0-STABLE last friday Message-ID: <437B42C0.9040605@pldrouin.net> In-Reply-To: <437A3B96.4040300@root.org> References: <4377775B.3080606@pldrouin.net> <20051114105854.GA1041@galgenberg.net> <4378CC14.2020109@pldrouin.net> <ygek6f9g83g.wl%ume@mahoroba.org> <437A3901.8010001@pldrouin.net> <437A3B96.4040300@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Nate Lawson wrote: > Pierre-Luc Drouin wrote: > >> Hajimu UMEMOTO wrote: >> >>>>>>>> On Mon, 14 Nov 2005 12:40:36 -0500 >>>>>>>> Pierre-Luc Drouin <pldrouin@pldrouin.net> said: >>>>>>> >>> pldrouin> Yep, smart battery is definately the problem. The >>> performance of my pldrouin> laptop is back to normal when I remove >>> the xfce4-battery-plugin. pldrouin> acpiconf -i loop reproduces the >>> problem for me too. So it looks like pldrouin> there is something >>> wrong in smart battery. >>> >>> The cmbat has similar issue on some laptops. So, acpi_cmbat.c uses >>> cache for retrieval to reduce its influence, and its expiration >>> time is set by hw.acpi.battery.info_expire. >>> However, acpi_smbat.c doesn't use cache. So, I made a patch. Since I >>> don't have a laptop which has smbat, I cannot test it by myself. >>> Please test it and let me know the result. >>> >>> >> The patch seams to do its job correctly, but it is still very >> annoying to have the whole computer to freeze for 1 second when the >> cache expires. What does make the whole system to freeze? Before the >> code was changed in 6.0-stable, FreeBSD was able to read the battery >> status without freezing my laptop... I have been running 3 OSes >> (FreeBSD, Ubuntu and Win XP) on my laptop for a while and never >> experienced that kind of problem with either Linux or Win XP. I guess >> there is something wrong in the new code added after 6.0-release. > > > If you have both smbat and cmbat, just disable smbat if you don't like > it. Add this to /boot/loader.conf: > > debug.acpi.disabled="smbat" > > The pause is related to a buggy or slow EC. Caching the values > happens to hide it. Do you get pauses with smbat disabled (see above > for how to do this)? Can you still get battery status from cmbat? > Ok, there is new development. I realized by playing with debug.acpi.disabled="smbat", debug.acpi.disabled="smbat cmbat" and debug.acpi.disabled="cmbat", that my laptop battery is not a smbat, but a cmbat. When I played with hw.acpi.battery.info_expire after to have applied the patch for acpi_smbat.c, it was freezing less often because that sysctl variable was shared by both cmbat and smbat. So I can only get battery status from cmbat (disabling cmbat disables the use of acpiconf -i loop). To get the status of my battery via cmbat was working fine up to 6.0-RELEASE (included), but makes my laptop to freeze since I upgraded to 6.0-stable with Nov 10th sources. What change related to cmbat between 6.0-release and 6.0-stable could be causing this?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?437B42C0.9040605>