Re: [PATCH v5 3/7] sched: set initial value of runnable avg for newforked task

From: Peter Zijlstra
Date: Wed May 08 2013 - 07:36:30 EST


On Tue, May 07, 2013 at 04:20:55AM -0700, Paul Turner wrote:
> Yes, 1024 was only intended as a starting point. We could also
> arbitrarily pick something larger, the key is that we pick
> _something_.
>
> If we wanted to be more exacting about it we could just give them a
> sched_slice() worth; this would have a few obvious "nice" properties
> (pun intended).

Oh I see I misunderstood again :/ Its not about the effective load but weight
of the initial effective load wrt adjustment.

Previous schedulers didn't have this aspect at all, so no experience from me
here. Paul would be the one, since he's ran longest with this stuff.

That said, I would tend to keep it shorter rather than longer so that it would
adjust quicker to whatever it really wanted to be.

Morten says the load is unstable specifically on loaded systems. I would think
this is because we'd experience scheduling latency, we're runnable more pushing
things up. But if we're really an idle task at heart we'd not run again for a
long while, pushing things down again.

So on that point Paul's suggestion of maybe starting with __sched_slice() might
make sense because it increases the weight of the initial avg with nr_running.

Not sure really, we'll have to play and see what works best for a number of
workloads.
--
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/