Re: [RFC patch] CFS fix place entity spread issue (v2)

From: Mathieu Desnoyers
Date: Sun Apr 18 2010 - 18:59:32 EST


* Linus Torvalds (torvalds@xxxxxxxxxxxxxxxxxxxx) wrote:
>
>
> On Sun, 18 Apr 2010, Mathieu Desnoyers wrote:
> >
> > CFS fix place entity spread issue (v2)
> >
> > Huge CFS vruntime spread (18 minutes) has been observed with LTTng while simply
> > running Xorg on a uniprocessor machine. Detailed explanation in my ELC2010
> > presentation at:
>
> Hmm. I tested this patch with my favourite non-scientific desktop load
> test: do web browsing while doing a kernel compile with "make -j16" (after
> doing a "git clean -dqfx" and "ccache -C" to get rid of old object files
> and ccache).
>
> This is on a dual-core (with SMT, so 4 threads) Core i5, so "make -j16"
> overcommits the CPU's quite a bit.
>
> And quite frankly, I think your patch makes things much worse. I don't
> have numbers, but it felt much choppier and slower to do scrolling in
> firefox o moving windows around while the load average is 20+.
>
> My testload is in no way objective, nor necessarily any good, but it's the
> one I happen to use, and while it's subjective, I think the difference was
> pretty clear and not good.
>
> Linus

Degradation of this particular workload is expected, because the nature of the
large CFS spread issue favors Xorg: it gets litterally minutes of available
vruntime, while most other threads (e.g. kernel build, audio playing, etc..)
suffer from this.

I'll try to play a bit with this (I got plenty of time to kill at the airport
today, missed my connecting flight back from San Francisco). Ideally, we might
want to try to find a way to ensure that place_entity() is kind to sleepers, but
without putting them before min_vruntime. I don't have any SMP machine with Xorg
handy, but I'll try to push my UP laptop a bit more heavily with a kernel build.

If we are lucky enough, we might just have to twist a knob or two to make Xorg
more responsive.

Thanks,

Mathieu

--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
--
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/