From: James Braid <jamesb@loreland.org>
To: Neil Brown <neilb@suse.de>
Cc: linux-raid@vger.kernel.org
Subject: Re: chunk size must be power of two?
Date: Thu, 07 Dec 2006 00:16:55 +0000 [thread overview]
Message-ID: <45775D77.8040200@loreland.org> (raw)
In-Reply-To: <17783.15369.828178.167586@cse.unsw.edu.au>
Neil Brown wrote:
> On Wednesday December 6, jamesb@loreland.org wrote:
>> Is there any reason the chunk size has to be a power of two?
>
> It makes division a lot easier and faster.
Thanks for the reply.
>> We're trying to use md devices to stripe over hardware RAID5 arrays, so
>> to align the I/O correctly, I want to set the chunk size to (n - 1) *
>> stripe_size for the underlying array. Which is impossible to do because
>> mdadm (and the kernel) insist on the chunk size being a power of
>> two.
>
> Surely you want to set chunk_size to 1 * stripe_size for the
> underlying array ... or maybe 1/(n-1) * stripe_size. But certainly
> not (n-1) * stripe_size. That wouldn't make any sense at all.
I suspect I haven't explained myself very clearly... I'm trying to
stripe over multiple separate hardware raid5 luns using md... see below
for details.
>> I haven't tried just removing the kernel checks yet ... is there a
>> reason why md is limited to power of two chunk sizes?
>
> You would need to check all the div and mod operations based on chunk
> size and make sure they don't implicitly assume it is a power of 2.
OK, thanks.
> What exactly is the geometry of the array you wan to access with md??
four 7+1 raid5 luns (from multiple controllers etc) with a stripe size
of 128K, and I am then striping across all four luns with md.
So I want to set the md chunk_size to 896K so we write a full stripe (7
* 128K) to each lun before moving on to the next.
Testing on other volume managers (IRIX/Linux with xvm) has shown
aligning the I/O like this improves performance for our workload (lots
of large files with streaming reads and writes), but I can't use xvm for
this particular system.
Thanks, James
prev parent reply other threads:[~2006-12-07 0:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-06 21:29 chunk size must be power of two? James Braid
2006-12-06 21:54 ` Neil Brown
2006-12-07 0:16 ` James Braid [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=45775D77.8040200@loreland.org \
--to=jamesb@loreland.org \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@suse.de \
/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 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).