Re: 2.6.24-rc4-git5: Reported regressions from 2.6.23

Andrew Morton
2007-12-08T09:24:58Z

On Sat, 8 Dec 2007 09:28:15 +0100 Ingo Molnar <mingo@elte.hu> wrote:

>
> * Fabio Comolli <fabio.comolli@gmail.com> wrote:
>
> > <snip>
> >
> > > Subject : Battery shows up twice in kpowersave
> > > Submitter : Rolf Eike Beer <eike-kernel@sf-tec.de>
> > > References : http://bugzilla.kernel.org/show_bug.cgi?id=9494
> > > Handled-By : Alexey Starikovskiy <astarikovskiy@suse.de>
> > > Patch :
> > >
> >
> > I don't think that this is a regression: I reported on RedHat bugzilla
> > when I switched from F7 to F8 and I was using 2.6.23.8 at that time.
> > It looks to me an HAL regression, but of course I may be wrong :-) as
> > the reported bisected to a bad commit.
> >
> > https://bugzilla.redhat.com/show_bug.cgi?id=373041
> >
> > By the way, I now switched to Fedrora Rawhide with a 2.6.24-rc4-git5
> > custom kernel and Gnome desktop and the problem is still present, even
> > with gnome-power-manager.
>
> to me this looks like an ABI regression - utilities should work without
> change. Something changed in /sys output that caused HAL to think that
> there are two batteries:

Yep. Although HAL is of course a most special case of "userspace".

> | The output of lshal shows that there are two UDI's with
> | info.capabilities = { 'battery' }:
> |
> | udi = '/org/freedesktop/Hal/devices/acpi_BAT0'
> | udi = '/org/freedesktop/Hal/devices/computer_power_supply_0'
>
> whether it's a HAL bug or a kernel bug, the original state should be
> restored and it should be worked out without breaking users of older HAL
> versions.

"breaking users of older HAL versions" == "breaking machines".

The patch should be reverted. Do we know which one it was?

> grumble: way too many times do various system utilities break when i
> upgrade the kernel on my laptop. Maybe a new debug mechanism: we should
> start fingerprinting the exact /sys and /proc output and enforce that
> it's immutable across kernel releases as long as the hardware is
> unmodified?

That would be neat. It would need to be executed on a lot of different
machines.

I wonder if there's something sneaky we can do here. Install the script in
/lib/modules/$(uname -r) and then run it from the kernel when the fork
count reaches 1000 ;)

(hey, I've seen worse: /proc files which start with #!/bin/sh)