[REGRESSION 2.6.30][PATCH 1/1] sched: defer idle accounting till after load update period
Thomas Gleixner
tglx at linutronix.de
Thu Apr 1 20:37:39 UTC 2010
On Thu, 1 Apr 2010, Chase Douglas wrote:
> On Thu, Apr 1, 2010 at 4:18 PM, Thomas Gleixner <tglx at linutronix.de> wrote:
> > Also we need to think about a more clever way than just accounting the
> > number of running and uninterruptible tasks. What we really want is to
> > use the numbers which the scheduler has handy, i.e how many tasks did
> > we run since we did the last loadavg calculation. It was always
> > possible (even before the big loadavg changes) to create a task which
> > consumes 50% of a CPU and never shows up in the loadavg calculations
> > at all.
>
> I'm not sure I follow how knowing how many tasks have been run since
> the last LOAD_FREQ expiration will help, or is that just an example of
> the kind of data the scheduler has available that may be useful?
Yes, it's just an example. Look at the following (UP) scenario:
-> tick calcs loadavg
-> task is woken and runs for 50% of a tick
-> task goes to sleep
-> tick calcs loadavg
So loadavg will say 0 forever, while we in reality know that there was
significant work on that CPU - at least when we have a sched_clock
which has a better granularity than the tick itself.
Thanks,
tglx
More information about the kernel-team
mailing list