Re: [patch] sched: accurate user accounting

From: malc
Date: Thu Jun 14 2007 - 17:37:55 EST

On Thu, 14 Jun 2007, Ingo Molnar wrote:

* malc <av1474@xxxxxxxx> wrote:

the alternating balancing might be due to an uneven number of tasks
perhaps? If you have 3 tasks on 2 cores then there's no other
solution to achieve even performance of each task but to rotate them
amongst the cores.

One task, one thread. I have also tried to watch fairly demanding
video (Elephants Dream in 1920x1080/MPEG4) with mplayer, and CFS moves
the only task between cores almost every second.

hm, mplayer is not running alone when it does video playback: Xorg is
also pretty active. Furthermore, the task you are using to monitor
mplayer counts too. The Core2Duo has a shared L2 cache between cores, so
it is pretty cheap to move tasks between the cores.

Well just to be sure i reran the test with `-vo null' (and fwiw i tried
few completely different output drivers) the behavior is the same. I'm
not running Core2Duo but X2, but guess that does not really matter here.

As for the task that monitors, i've written it myself (there are two
monitoring methods, one(the accurate) does not depend on contets of
`/proc/stat' at all), so it can be cheaply (for me) changed in any
way one wants. Sources are available at the same place where screenshot
was found.

well, precise/finegrained accounting patches have been available for
years, the thing with CFS is that there we get them 'for free',
because CFS needs those metrics for its own logic. That's why this
information is much closer to reality now. But note: right now what
is affected by the changes in the CFS patches is /proc/PID/stat
(i.e. the per-task information that 'top' and 'ps' displays, _not_
/proc/stat) - but more accurate /proc/stat could certainly come
later on too.

Aha. I see, it's just that integral load for hog is vastly improved
compared to vanilla 2.6.21 [...]

hm, which ones are improved? Could this be due to some other property of
CFS? If your app relies on /proc/stat then there's no extra precision in
those cpustat values yet.

This is what it looked like before:

Now integral load matches the one obtained via the "accurate" method.
However the report for individual cores are of by around 20% percent.

Though i'm not quite sure what you mean by "which ones are improved".

i've Cc:-ed Balbir Singh and Dmitry Adamushko who are the main authors
of the current precise accounting code in CFS. Maybe i missed some
detail :-)

Oh, the famous "With enough eyeballs, all bugs are shallow." in action.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at