Re: [RFC] md: make queue limits depending on limits of RAID members

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux