lkml.org 
[lkml]   [2011]   [Aug]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Q: /sys/block and I/O Schedulers
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


\
 
 \ /
  Last update: 2011-08-22 13:19    [W:0.026 / U:0.188 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site