Date: Tue, 22 Nov 2005 12:06:12 -0800 From: Nate Lawson <nate@root.org> To: Hajimu UMEMOTO <ume@freebsd.org> Cc: Pierre-Luc Drouin <pldrouin@pldrouin.net>, acpi@freebsd.org, freebsd-stable@freebsd.org Subject: Re: Performance problem since updating from 6.0-RELEASE to 6.0-STABLE last friday Message-ID: <43837A34.1030900@root.org> In-Reply-To: <yge7jb0x28z.wl%ume@mahoroba.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> <437B42C0.9040605@pldrouin.net> <437CAEB0.9060202@pldrouin.net> <yge7jb0x28z.wl%ume@mahoroba.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hajimu UMEMOTO wrote: > Hi, > > >>>>>>On Thu, 17 Nov 2005 11:24:16 -0500 >>>>>>Pierre-Luc Drouin <pldrouin@pldrouin.net> said: > > >>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? > > > pldrouin> Has someone found how to fix this problem in -stable? > > Perhaps, I found the cause. acpi_cmbat_get_bif() is heavy process, > and it was called only when ACPIIO_CMBAT_GET_BIF ioctl was issued > explicitly, until smbat stuff was committed. However, > acpiio_cmbat_get_bif() is called from every > acpi_battery_get_battinfo() call, now. > The attached patch will bring back to former behavior. Please try it > and let me know the result. > It is against 7-CURRENT as of today. If you want to try it on > 6-STABLE, you need to apply following diff before applying it: Thank you for tracking this down. It is interesting that BIF is heavyweight while BST is not. I guess that is expected behavior by OEMs which only test on Windows and so not everyone makes BIF simple. On my laptops, BIF is as fast as BST. I don't like the patch approach (changing the API), however. Let me look at it and commit a fix that doesn't change the API. Thanks, -- Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43837A34.1030900>