Re: acpi_cmbat with charge-limited battery

From: Warner Losh <imp_at_bsdimp.com>
Date: Mon, 06 Mar 2023 03:33:14 UTC
On Sun, Mar 5, 2023 at 7:20 PM Kyle Evans <kevans@freebsd.org> wrote:

> Hello!
>
> I've dealt with this mainly over the weekend, but my solution was to
> just disable acpi_cmbat entirely, which is maybe not the best solution
> but I can't tell if this should be considered a firmware bug or if
> it's something we could find a way to workaround in the kernel.
>
> Basically, I've set the firmware on my frame.work laptop to limit the
> battery charge to 80%. When it hits 80% while plugged in, things get a
> little funky- I assume it's because the firmware's trying to carefully
> maintain the limit, but I end up getting (at least) one acpi
> notification per second, alternating between BST_CHANGE/BIX_CHANGE,
> which in turn drives up CPU usage as we tap it out to devd and upowerd
> picks it up. upowerd ends up pegging a core consistently.
>
> Should we be rate-limiting these devd notifications? Is this even
> reasonable behavior for the firmware? I'm not really sure how other OS
> behave here, but I haven't really seen any complaints from other
> framework'ers.
>

Seems like this is crappy firmware behavior and we should rate
limit in the driver... It's not useful information to be sharing once
a second...

Warner