* 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, 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.
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 :-)