All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Martin K. Petersen" <martin.petersen@oracle.com>
To: Mariusz Dabrowski <mariusz.dabrowski@intel.com>
Cc: Shaohua Li <shli@kernel.org>, Jens Axboe <axboe@kernel.dk>,
	linux-raid@vger.kernel.org, martin.petersen@oracle.com,
	linux-block@vger.kernel.org
Subject: Re: [RFC] md: make queue limits depending on limits of RAID members
Date: Thu, 30 Nov 2017 11:08:16 -0500	[thread overview]
Message-ID: <yq1d13zg367.fsf@oracle.com> (raw)
In-Reply-To: <0a8abe98-e24a-420d-e673-9bbbb47972b4@intel.com> (Mariusz Dabrowski's message of "Wed, 22 Nov 2017 09:12:39 +0100")


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

      parent reply	other threads:[~2017-11-30 16:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-15 10:25 [RFC] md: make queue limits depending on limits of RAID members Mariusz Dabrowski
2017-11-17 18:40 ` Shaohua Li
2017-11-22  8:12   ` Mariusz Dabrowski
2017-11-30 11:44     ` Mariusz Dabrowski
2017-11-30 16:08     ` Martin K. Petersen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=yq1d13zg367.fsf@oracle.com \
    --to=martin.petersen@oracle.com \
    --cc=axboe@kernel.dk \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=mariusz.dabrowski@intel.com \
    --cc=shli@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.