* Q: /sys/block and I/O Schedulers
@ 2011-08-22 10:10 Ulrich Windl
2011-08-22 11:15 ` Milan Broz
0 siblings, 1 reply; 2+ messages in thread
From: Ulrich Windl @ 2011-08-22 10:10 UTC (permalink / raw)
To: linux-kernel; +Cc: Ulrich Windl
Hi!
I have a question: Reading the docs on I/O Schedulers, I had the impression the docs wanted to tell me that only the low-level devices (i.e. disks) use I/O Schedulers, while higher-level devices (like multipaths, RAIDs, LVs, etc.) don't.
Using the SLES11 SP1 kernel (2.6.32.43-0.4-xen), I found out that LVs seem to use the I/O Scheduler, while RAID1 don't seem to do so. Also a disk in a Xen DomU also uses an I/O Scheduler (in addition to those being used in Dom0 for the same device already)
Is that correct, and if so, why is that? Is there a change to be seen in the future?
My test was as simple as this:
/sys/block # for d in *
> do
> echo $d: $(<$d/queue/scheduler)
> done
cciss!c0d0: noop anticipatory deadline [cfq]
dm-0: noop anticipatory deadline [cfq]
[...]
loop0: none
[...]
md4: none
sda: noop anticipatory deadline [cfq]
[...]
As I'm not subscribed to the list, I'd appreciate any CC: to my address. Thanks!
Regards,
Ulrich
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Q: /sys/block and I/O Schedulers
2011-08-22 10:10 Q: /sys/block and I/O Schedulers Ulrich Windl
@ 2011-08-22 11:15 ` Milan Broz
0 siblings, 0 replies; 2+ messages in thread
From: Milan Broz @ 2011-08-22 11:15 UTC (permalink / raw)
To: Ulrich Windl; +Cc: linux-kernel
On 08/22/2011 12:10 PM, Ulrich Windl wrote:
> I have a question: Reading the docs on I/O Schedulers, I had the
> impression the docs wanted to tell me that only the low-level devices
> (i.e. disks) use I/O Schedulers, while higher-level devices (like
> multipaths, RAIDs, LVs, etc.) don't.
As you already found, low-level device has always real io scheduler.
Device-mapper use stacked device logic - IOW mapped device
is stacked over some real device(s).
Remapping works on bio level, not on IO request level.
Separate bios are simple remapped to low-level devices where
io scheduler does its job.
There is one exception: dm-multipath which uses "request based" mapping,
IOW it means it uses own scheduler on device-mapper level
(But in old kernels it was on bio level as well,
for more info see https://lkml.org/lkml/2008/2/15/411)
> Using the SLES11 SP1 kernel (2.6.32.43-0.4-xen), I found out that LVs
> seem to use the I/O Scheduler
LVs (e.g. linear mappings) do not use own scheduler. But /queue directory
contains more attributes which need to be visible there.
> My test was as simple as this: /sys/block # for d in *
>> do echo $d: $(<$d/queue/scheduler) done
Btw see "lsblk -t" - here you can see stacked devices with scheduler
and topology info parsed from sysfs (in new util-linux).
Milan
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-08-22 11:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-22 10:10 Q: /sys/block and I/O Schedulers Ulrich Windl
2011-08-22 11:15 ` Milan Broz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox