Thread (1 message) 1 message, 1 author, 2009-07-01

Re: [dm-devel] REQUEST for new 'topology' metrics to be moved out of the 'queue' sysfs directory.

From: Neil Brown <hidden>
Date: 2009-07-01 00:29:10
Also in: dm-devel, linux-fsdevel, linux-raid, linux-scsi, lkml

Possibly related (same subject, not in this thread)

On Tuesday June 30, adilger@sun.com wrote:
On Jun 29, 2009  13:41 +0200, Jens Axboe wrote:
quoted
... externally it just makes the API worse since tools then have to know
which device type they are talking to.

So I still see absolutely zero point in making such a change, quite the
opposite.
Exactly correct.  Changing these tunables just for the sake of giving
them a slightly different name is madness.  Making all block devices
appear more uniform to userspace (even if they don't strictly need all
of the semantics) is very sensible.  The whole point of the kernel is
to abstract away the underlying details so that userspace doesn't need
to understand it all again.
Uniformity is certainly desirable.  But we shouldn't take it so far
as to make apples look like oranges.

We wouldn't want a SATA disk drive to have 'chunk_size' and 'raid_disks'.
Nor would we want a software RAID array to have a 'scheduler' or
'iosched' attributes.
In order to get good throughput on RAID arrays we need to tune the
queue/max_* values to ensure the IO requests don't get split.

It would be great if the MD queue/max_* values would pass these tunings
down to the underlying disk devices as well.  As it stands now, we have
to follow the /sys/block/*/slaves tree to set all of these ourselves,
and before "slaves/" was introduced it was nigh impossible to automatically
tune these values.
I don't think that passing these values down is - in general - a well
defined problem.  This is (in part) because md/dm devices can be based on
partitions, and partitions don't have independent max_* values.

In your particular case, I don't expect that you use partitions, so it
makes perfect sense to do the tuning on a per-array basis.  But I
don't think that it is a concept that fits in the kernel.  As you say,
we have 'slaves/', which makes it practical to do this in user-space
and I would rather it stayed there.

NeilBrown
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help