On Monday 12 March 2007 18:22, Mike Galbraith wrote: > On Sun, 2007-03-11 at 13:10 +0100, Ingo Molnar wrote: > > * Mike Galbraith <[EMAIL PROTECTED]> wrote: > > > > Full patch for 2.6.21-rc3-mm2: > > > > http://ck.kolivas.org/patches/staircase-deadline/2.6.21-rc3-mm2-rsdl- > > > >0.29.patch > > > > > > I'm seeing a cpu distribution problem running this on my P4 box. > > > > > > With 2.6.21-rc3, X/Gforce maintain their ~50% cpu (remain smooth), and > > > the encoders (100%cpu bound) get whats left when Amarok isn't eating > > > it. > > > > > > I plunked the above patch into plain 2.6.21-rc3 and retested to > > > eliminate other mm tree differences, and it's repeatable. The nice 5 > > > cpu hogs always receive considerably more that the nice 0 sleepers. > > > > hm. Do you get the same same problem on UP too? (i.e. lets eliminate any > > SMP/HT artifacts) > > Behavior is slightly different with a UP kernel. Neither encoder > receives more cpu than X, but they each still receive more than gforce. > The distribution of X/Gforce vs lame/lame averages per eyeball to > roughly ~50:50. > > I noticed Con posted an accounting fix, and applied it. No change.
So the lames are nice 5 which means they should receive 75% of the cpu that nice 0 tasks receive so they should get 43% of the cpu... Just a couple of questions; The X/Gforce case; do they alternate cpu between them? By that I mean when they're the only thing running does the cpu load summate to 1 or does it summate to 2? Gforce presumably is a 3d visualisation? Do you use one of the graphics card drivers listed that uses yield? ,----[grep -r sched_yield mesa] | mesa/mesa/src/mesa/drivers/dri/r300/radeon_ioctl.c: sched_yield(); | mesa/mesa/src/mesa/drivers/dri/i915tex/intel_batchpool.c: sched_yield(); | mesa/mesa/src/mesa/drivers/dri/i915tex/intel_batchbuffer.c: sched_yield(); | mesa/mesa/src/mesa/drivers/dri/common/vblank.h:#include <sched.h> /* for sched_yield() */ | mesa/mesa/src/mesa/drivers/dri/common/vblank.h:#include <sched.h> /* for sched_yield() */ | mesa/mesa/src/mesa/drivers/dri/common/vblank.h: sched_yield(); \ | mesa/mesa/src/mesa/drivers/dri/unichrome/via_ioctl.c: sched_yield(); | mesa/mesa/src/mesa/drivers/dri/i915/intel_ioctl.c: sched_yield(); | mesa/mesa/src/mesa/drivers/dri/r200/r200_ioctl.c: sched_yield(); `---- Thanks -- -ck - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/