linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [RFC] md: make queue limits depending on limits of RAID members
       [not found]   ` <0a8abe98-e24a-420d-e673-9bbbb47972b4@intel.com>
@ 2017-11-30 16:08     ` Martin K. Petersen
  0 siblings, 0 replies; only message in thread
From: Martin K. Petersen @ 2017-11-30 16:08 UTC (permalink / raw)
  To: Mariusz Dabrowski
  Cc: Shaohua Li, Jens Axboe, linux-raid, martin.petersen, linux-block


Mariusz,

>>> One potential solution for that is to change type of some queue limits
>>> (at least discard_granularity and discard_alignment, maybe more, like
>>> max_discard_sectors?) from 32 bits to 64 bits.

You're still restricted by the max bio size which is 32 bits on 32-bit
platforms.

> Let me give you an example with io_min (it works also for other params):
> We've got RAID 0 with 2 disks and 32KiB chunk size. Each member disk
> reports io_min=64KiB. blk_stack_limits takes max value from set of chunk
> size and members io_min
> 	t->io_min = max(t->io_min, b->io_min);
> so new array's io_min will be equal to 64KiB. Such request will be split
> for both array members, each device will get 32KiB request and it is not
> enough for them to meet minimum io size requirement.

When this was written, there was a clear benefit giving priority to the
MD/DM topology over any values reported by the hardware.

I.e. the performance was much better when honoring the MD stripe chunk
and stripe size over any values reported by the underlying devices. This
was true for both disk drives and RAID devices that reported the
relevant issues.

That's why the stacking works the way it does.

For your particular example, I'd say that if your device reports an
io_min of 64KB, then it's a user error to create an MD device with a
stripe chunk of 32KB. mdadm should discourage creating such a
configuration.

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-11-30 16:08 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20171115102512.18269-1-mariusz.dabrowski@intel.com>
     [not found] ` <20171117184054.jmk6lks7dzxyyxgu@kernel.org>
     [not found]   ` <0a8abe98-e24a-420d-e673-9bbbb47972b4@intel.com>
2017-11-30 16:08     ` [RFC] md: make queue limits depending on limits of RAID members Martin K. Petersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).