Matt Mackall wrote:
On Tue, Apr 17, 2007 at 09:01:55AM +0200, Nick Piggin wrote:On Mon, Apr 16, 2007 at 11:26:21PM -0700, William Lee Irwin III wrote:On Mon, Apr 16, 2007 at 11:09:55PM -0700, William Lee Irwin III wrote:All things are not equal; they all have different properties. I likeOn Tue, Apr 17, 2007 at 08:15:03AM +0200, Nick Piggin wrote:Exactly. So we have to explore those properties and evaluate performance (in all meanings of the word). That's only logical.Any chance you'd be willing to put down a few thoughts on what sorts of standards you'd like to set for both correctness (i.e. the bare minimum a scheduler implementation must do to be considered valid beyond not oopsing) and performance metrics (i.e. things that produce numbers for each scheduler you can compare to say "this scheduler is better than this other scheduler at this.").Yeah I guess that's the hard part :) For correctness, I guess fairness is an easy one. I think that unfairness is basically a bug and that it would be very unfortunate to merge something unfair. But this is just within the context of a single runqueue... for better or worse, we allow some unfairness in multiprocessors for performance reasons of course.I'm a big fan of fairness, but I think it's a bit early to declare it a mandatory feature. Bounded unfairness is probably something we can agree on, ie "if we decide to be unfair, no process suffers more than a factor of x".Latency. Given N tasks in the system, an arbitrary task should get onto the CPU in a bounded amount of time (excluding events like freak IRQ holdoffs and such, obviously -- ie. just considering the context of the scheduler's state machine).This is a slightly stronger statement than starvation-free (which is obviously mandatory). I think you're looking for something like "worst-case scheduling latency is proportional to the number of runnable tasks".
add "taking into consideration nice and/or real time priorities of runnable tasks". I.e. if a task is nice 19 it can expect to wait longer to get onto the CPU than if it was nice 0.
Which I think is quite a reasonable requirement. I'm pretty sure the stock scheduler falls short of both of these guarantees though.
Peter -- Peter Williams [email protected] "Learning, n. The kind of ignorance distinguishing the studious." -- Ambrose Bierce - 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/
- Follow-Ups:
- References:
- Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- From: Mike Galbraith <[email protected]>
- Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- From: Peter Williams <[email protected]>
- Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- From: Mike Galbraith <[email protected]>
- Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- From: Nick Piggin <[email protected]>
- Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- From: Peter Williams <[email protected]>
- Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- From: Nick Piggin <[email protected]>
- Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- From: William Lee Irwin III <[email protected]>
- Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- From: Nick Piggin <[email protected]>
- Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- From: William Lee Irwin III <[email protected]>
- Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- From: Nick Piggin <[email protected]>
- Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- From: Matt Mackall <[email protected]>
- Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- Prev by Date: Re: AppArmor FAQ
- Next by Date: Re: AppArmor FAQ
- Previous by thread: Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- Next by thread: Re: [Announce] [patch] Modular Scheduler Core and Completely Fair Scheduler [CFS]
- Index(es):