On Wed, 2007-04-18 at 05:56 +0200, Nick Piggin wrote: > On Wed, Apr 18, 2007 at 05:45:20AM +0200, Mike Galbraith wrote: > > On Wed, 2007-04-18 at 05:15 +0200, Nick Piggin wrote: > > > > > > > > > So on what basis would you allow unfairness? On the basis that it doesn't > > > seem to harm anyone? It doesn't seem to harm testers? > > > > Well, there's short term fair and long term fair. Seems to me a burst > > load having to always merge with a steady stream load using a short term > > fairness yardstick absolutely must 'starve' relative to the steady load, > > so to be long term fair, you have to add some short term unfairness. > > The mainline scheduler is more long term fair (discounting the rather > > obnoxious corner cases). > > Oh yes definitely I mean long term fair. I guess it is impossible to be > completely fair so long as we have to timeshare the CPU :) > > So a constant delta is fine and unavoidable. But I don't think I agree > with a constant factor: that means you can pick a time where process 1 > is allowed an arbitrary T more CPU time than process 2.
Definitely. Using constants with no consideration of what else is running is what causes the fairness mechanism in mainline to break down under load. (aside: What I was experimenting with before this new scheduler came along was to turn the sleep_avg thing into an off-cpu period thing. Once a time slice begins execution [runqueue wait doesn't count], that task has the right to use it's slice in one go, and _anything_ that knocked it off the cpu added to it's credit. Knocking someone else off detracts from credit, and to get to the point where you can knock others off costs you stored credit proportional to the dynamic priority you attain by using it. All tasks that have credit stay active, no favorites.) -Mike - 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/