Re: [discussion]sched: a rough proposal to enable power saving inscheduler

From: Ingo Molnar
Date: Mon Aug 20 2012 - 04:06:09 EST



* Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> wrote:

> On 8/15/2012 8:04 AM, Peter Zijlstra wrote:
>
> > This all sounds far too complicated.. we're talking about
> > simple spreading and packing balancers without deep arch
> > knowledge and knobs, we couldn't possibly evaluate anything
> > like that.
> >
> > I was really more thinking of something useful for the
> > laptops out there, when they pull the power cord it makes
> > sense to try and keep CPUs asleep until the one that's awake
> > is saturated.

s/CPU/core ?

> as long as you don't do that on machines with an Intel CPU..
> since that'd be the worst case behavior for tasks that run for
> more than 100 usec. (e.g. not interrupts, but almost
> everything else)

The question is, do we need to balance for 'power saving', on
systems that care more about power use than they care about peak
performance/throughput, at all?

If the answer is 'no' then things get rather simple.

If the answer is 'yes' then there's clear cases where the kernel
(should) automatically know the events where we switch from
balancing for performance to balancing for power:

- the system boots up on battery

- the system was on AC but the cord has been pulled and the
system is now on battery

- the administrator configures the system on AC to be
power-conscious.

( and the opposite direction events wants the scheduler to
switch from 'balancing for power' to 'balancing for
performance'. )

There's also cases where the kernel has insufficient information
from the hardware and from the admin about the preferred
characteristics/policy of the system - a tweakable fallback knob
might be provided for that sad case.

The point is, that knob is not the policy setting and it's not
the main mechanism. It's a fallback.

Thanks,

Ingo

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/