Re: [patch] sched: accurate user accounting

From: malc
Date: Thu Jun 14 2007 - 16:57:45 EST


On Thu, 14 Jun 2007, Ingo Molnar wrote:


* Vassili Karpov <av1474@xxxxxxxx> wrote:

Hello Ingo and others,

After reading http://lwn.net/Articles/236485/ and noticing few
refernces to accounting i decided to give CFS a try. With
sched-cfs-v2.6.21.4-16 i get pretty weird results, it seems like
scheduler is dead set on trying to move the processes to different
CPUs/cores all the time. And with hog (manually tweaking the amount
iterations) i get fairly strange resuls, first of all the process is
split between two cores, secondly while integral load provided by the
kernel looks correct, it's off by good 20 percent on each idividial
core.

(http://www.boblycat.org/~malc/apc/hog-cfs-v16.png)

Thought this information might be of some interest.

hm - what does 'hog' do, can i download hog.c from somewhere?

http://www.boblycat.org/~malc/apc/hog.c and also a in
Documentation/cpu-load.txt.


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.

P.S. How come the /proc/stat information is much closer to reality
now? Something like what Con Kolivas suggested was added to
sched.c?

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 (then again some other tests are off by a few
percent (at least), though they were fine with Con's patch (which was
announced at the beginning of this thread))

--
vale
-
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/