Re: [REPORT] cfs-v4 vs sd-0.44

Ingo Molnar
2007-04-23T20:45:37Z

* Ingo Molnar <mingo@elte.hu> wrote:

> (we obviously dont want to allow people to 'share' their loans with
> others ;), nor do we want to allow a net negative balance. CFS is
> really brutally cold-hearted, it has a strict 'no loans' policy - the
> easiest economic way to manage 'inflation', besides the basic act of
> not printing new money, ever.)

sorry, i was a bit imprecise here. There is a case where CFS can give
out a 'loan' to tasks. The scheduler tick has a low resolution, so it is
fundamentally inevitable [*] that tasks will run a bit more than they
should, and at a heavy context-switching rates these errors can add up
significantly. Furthermore, we want to batch up workloads.

So CFS has a "no loans larger than sched_granularity_ns" policy (which
defaults to 5msec), and it captures these sub-granularity 'loans' with
nanosec accounting. This too is a very sane economic policy and is
anti-infationary :-)

Ingo

[*] i fundamentally hate 'fundamentally inevitable' conditions so i
have plans to make the scheduler tick be fed from the rbtree and
thus become a true high-resolution timer. This not only increases
fairness (=='precision of scheduling') more, but it also decreases
the number of timer interrupts on a running system - extending
dynticks to sched-ticks too. Thomas and me shaped dynticks to enable
that in an easy way: the scheduler tick is today already a high-res
timer (but which is currently still driven via the jiffy mechanism).