[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <19018.44502.425131.683796@notabene.brown>
Date: Wed, 1 Jul 2009 10:29:10 +1000
From: Neil Brown <neilb@...e.de>
To: Andreas Dilger <adilger@....com>
Cc: Jens Axboe <jens.axboe@...cle.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Mike Snitzer <snitzer@...hat.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Alasdair G Kergon <agk@...hat.com>,
linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-raid@...r.kernel.org, linux-ide@...r.kernel.org,
linux-fsdevel@...r.kernel.org,
device-mapper development <dm-devel@...hat.com>
Subject: Re: [dm-devel] REQUEST for new 'topology' metrics to be moved out of
the 'queue' sysfs directory.
On Tuesday June 30, adilger@....com wrote:
> On Jun 29, 2009 13:41 +0200, Jens Axboe wrote:
> > ... 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists