Re: [RFC][PATCH] O(1) Entitlement Based Scheduler
From: Timothy Miller
Date: Thu Mar 04 2004 - 15:58:35 EST
Peter Williams wrote:
The O(1) Entitlement Based Scheduler places the equivalent restrictions
on setting task attributes (i.e. shares and caps) as are placed on using
nice and renice. I.e. ordinary users can only change settings on their
own processes and only if the change is more restricting than the
current setting. In particular, they cannot increase a task's shares
only decrease them, they can impose or reduce a cap but not release or
increase it and they can change a soft cap to a hard cap but cannot
change a hard cap to a soft cap.
Additionally, only root can change the scheduler's tuning parameters.
I hope this alleviates your concerns,
I, for one, never had any such concerns. My concern was about the
unpriveledged user begin unable to run certain applications under load
without prior approval.
Two philosophical points:
1) Perhaps we are trying too hard to please everyone. As Linus said,
perfect is the enemy of good. A good scheduler won't work perfectly for
everyone's application, but it will work very well for the most
important ones. Perhaps people writing schedulers should compete based
on overall throughput and latency, rather than on how well it runs xmms
(and other such apps).
2) Perhaps certain apps like xmms are 'broken' can be rewritten to
behave better with the new scheduler. For instance, more buffering,
separating the mp3 decoding thread from the thread that feeds
/dev/audio, more efficient decoder, a decoder that voluntarily sleeps
when it's 'done enough', so that it doesn't get knocked down to a lower
priority, a decoder that 'cheats' on audio quality just to maintain low
CPU usage when it finds itself being preempted, etc.
It bears mentioning that many applications work well with 2.4 because
they evolved to work well with the 2.4 scheduler. The 2.6 scheduler is
different. We shouldn't constrain 2.6 for the sake of old apps. Those
old apps should be rewritten to adapt to the new environment. "Working
well under 2.6" doesn't require any more adaptation than with 2.4, but
it does require _different_ adaptation.
This isn't to speak negatively of Con and Nick and others who have
attempted to improve upon the 2.6 scheduler. If they can make old apps
work well without impacting the potential that new apps can get out of
2.6, then more power to them!
-
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/