Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Nov 2005 16:59:41 -0500
From:      Pierre-Luc Drouin <pldrouin@pldrouin.net>
To:        freebsd-stable@freebsd.org, acpi@freebsd.org
Subject:   Re: Performance problem since updating from 6.0-RELEASE to 6.0-STABLE last friday
Message-ID:  <437A5A4D.7050902@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?437A5A4D.7050902>