* Ingo Molnar <[EMAIL PROTECTED]> 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).
-
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/

Reply via email to