Re: [RFC patch 1/2] sched: dynamically adapt granularity with nr_running

Mike Galbraith
2010-09-12T07:21:20Z

On Sun, 2010-09-12 at 08:14 +0200, Ingo Molnar wrote:
> * Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote:
>
> > (on a uniprocessor 2.0 GHz Pentium M)
> >
> > * Without the patch:
> >
> > - wakeup-latency with SIGEV_THREAD in parallel with youtube video and
> > make -j10
> >
> > maximum latency: 50107.8 µs
> > average latency: 6609.2 µs
> > missed timer events: 0
>
> I tried your patches on a similar UP system, using wakeup-latency.c. I
> also measured the vanilla upstream kernel (cced86a) with the default
> granularity settings, and also vanilla with a sched_min_granularity/3
> tune (patch attached below for that).
>
> I got the following results (make -j10 kbuild load, average of 3 runs):
>
> vanilla:
>
> maximum latency: 38278.9 µs
> average latency: 7730.1 µs
>
> mathieu-dyn:
>
> maximum latency: 28698.8 µs
> average latency: 7757.1 µs
>
> peterz-min_gran/3:
>
> maximum latency: 22702.1 µs
> average latency: 6684.8 µs

One thing that springs to mind with make is that it does vfork, so kinda
sorta continues running in drag, so shouldn't get credit for sleeping,
as that introduces bogus spread. Post vfork parent notification time
adjustment may suffice, think I'll try that.

-Mike