Re: [ANNOUNCE][RFC] plugsched-2.0 patches ...

From: Peter Williams
Date: Fri Jan 21 2005 - 16:22:09 EST


Con Kolivas wrote:
Marc E. Fiuczynski wrote:

Paraphrasing Jens Axboe:

I don't think you can compare [plugsched with the plugio framework].
Yes they are both schedulers, but that's about where the 'similarity'
stops. The CPU scheduler must be really fast, overhead must be kept
to a minimum. For a disk scheduler, we can affort to burn cpu cycles
to increase the io performance. The extra abstraction required to
fully modularize the cpu scheduler would come at a non-zero cost as
well, but I bet it would have a larger impact there. I doubt you
could measure the difference in the disk scheduler.



Modularization usually is done through a level of indirection (function
pointers). I have a can of "indirection be gone" almost ready to spray over
the plugsched framework that would reduce the overhead to zero at runtime.
I'd be happy to finish that work if it makes it more palpable to integrate a
plugsched framework into the kernel?


The indirection was a minor point. On modern cpus it was suggested by wli that this would not be a demonstrable hit in perormance. Having said that, I'm sure Peter would be happy for another developer. I know how tiring and lonely it can feel maintaining such a monster.

Indeed, the more hands the lighter the load.

Another issue (than indirection) that I think needs to be addressed at some stage is freeing up the memory occupied by the code of the schedulers that were unlucky not to be picked. Something like what __init offers only more selective.

And the option of allowing more than one CPU per run queue is another direction that needs addressing. This could allow a better balance between the good scheduling fairness that is obtained by using a single run queue with the better scalability obtained by using separate run queues.

Peter
--
Peter Williams pwil3058@xxxxxxxxxxxxxx

"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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/