Re: Block I/O Schedulers: Can they be made selectable/device? @runtime?
From: Tejun Heo
Date: Tue Mar 28 2006 - 23:09:26 EST
Linda Walsh wrote:
Is it still the case that block I/O schedulers (AS, CFQ, etc.)
are only selectable at boot time?
How difficult would it be to allow multiple, concurrent I/O
schedulers running on different block devices?
How close is the kernel to "being there"? I.e. if someone has a
"regular" hard disk and a high-end solid state disk, can
Linux allow whichever algorithm is best for the hardware?
(or applications if they are run on separate block devices)?
Hello, Linda, Jens.
Actually, I've been thinking about related stuff for sometime. e.g. It
doesn't make much sense to use any scheduler other than noop for SSDs
and it also doesn't make much sense to plug requests for milliseconds to
such devices. So, what I'm currently thinking is...
* Give LLDD a chance to say that it doesn't need fancy scheduling.
* Automagically tune plugging time. We can maintain running average of
request turn-around time and use fraction of it to plug the device. This
should be give good enough merging behavior while not adding excessive
delay to seek time.
* Don't leave device devices with queue depth > 1 idle. For queued
devices, we can push the first request fast such that the head moves to
proximity of what would probably follow. So, don't plug the first
request, plug from the second.
Any gotchas I've missed?
Thanks.
--
tejun
-
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/