On Thu, Jul 16, 2015 at 2:19 AM David Woodhouse <dwmw2@infradead.org> wrote:
On Wed, 2015-07-15 at 18:10 -0700, Josh Triplett wrote:
>
> > The point here is whether or not we want to have a way to make all of them be
> > enabled by default instead and see what happens, for example.
>
> To some degree that seems like an admission of defeat: we can't possibly
> do the right thing by default, so we give up and add a way for the user
> to configure it.
>
> We should be selecting the most sensible combination of power and
> performance by default; we should not punt that question to the average
> user, *or* to the distros.

Not to the user, perhaps. But it's not *so* unreasonable to let each of
the distros tune things for *their* class of users. We might want base
profiles for 'server', 'desktop' and 'laptop on battery' that distros
work from.


We need to be able to give even the distros more help than they have now.  The problem is that the distros simply don't have the knowledge to tune *all* the knobs appropriately.  If we gave them one knob as you suggested (and what Rafael is suggesting) set to a sane default determined by the kernel - they could then use whatever userspace tool to change it based on whatever parameters they want.

But although that's complex, it's not the real problem.

The real problem, as others have said, is when we have power management
features which work fine for 99% of the population, but fail
occasionally on broken hardware.

We can't easily blacklist the known-broken devices or whitelist the
good ones, and we end up having to turn the feature off by default.

Sure, a DMI match on "HP" and "TO BE FILLED BY OEM" would often go a
long way for a certain class of problem, but even that's not sufficient
:)

driver maintainers don't want to maintain blacklist/whitelist because it's hard.  It'd be nice to be able to load a black list or white list of devices from the filesystem like we do with firmware.