linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Tokarev <mjt@tls.msk.ru>
To: Neil Brown <neilb@suse.de>
Cc: Alex Tomas <alex@clusterfs.com>, linux-raid@vger.kernel.org
Subject: Re: linear writes to raid5
Date: Thu, 20 Apr 2006 12:22:56 +0400	[thread overview]
Message-ID: <444744E0.7010509@tls.msk.ru> (raw)
In-Reply-To: <17478.52089.452739.896039@cse.unsw.edu.au>

Neil Brown wrote:
> On Tuesday April 18, mjt@tls.msk.ru wrote:
[]
>> I mean, mergeing bios into larger requests makes alot of sense between
>> a filesystem and md levels, but it makes alot less sense to do that
>> between md and physical (fsvo "physical" anyway) disks.
> 
> This seems completely backwards to me, so we must be thinking of
> different things.
> 
> Creating large requests above the md level doesn't make a lot of sense
> to me because there is a reasonable chance that md will just need to
> break the requests up again to submit to different devices lower down.
> 
> Building large requests for the physical disk makes lots of sense
> because you get much better throughput on an e.g. SCSI buss by having
> few large requests rather than many small requests.  But this building
> should be done close to the device so that as much information as
> possible is available about particular device characteristics.
> 
> What is the rationale for your position?

My rationale was that if md layer receives *write* requests not smaller
than a full stripe size, it is able to omit reading data to update, and
can just calculate new parity from the new data.  Hence, combining a
dozen small write requests coming from a filesystem to form a single
request >= full stripe size should dramatically increase performance.

Eg, when I use dd with O_DIRECT mode (oflag=direct) and experiment with
different block size, write performance increases alot when bs becomes
full stripe size.  Ofcourse it decreases again when bs is increased a
bit further (as md starts reading again, to construct parity blocks).

For read requests, it makes much less difference where to combine them.

/mjt

  reply	other threads:[~2006-04-20  8:22 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-08  0:17 linear writes to raid5 Alex Tomas
2006-04-09 20:24 ` Mark Hahn
2006-04-11 20:55   ` Alex Tomas
2006-04-10  0:50 ` Neil Brown
2006-04-11 21:05   ` Alex Tomas
2006-04-12  0:15     ` Neil Brown
2006-04-12 15:50       ` Alex Tomas
2006-04-12 16:01         ` Alex Tomas
2006-04-16 23:22         ` Neil Brown
2006-04-18 14:28           ` Michael Tokarev
2006-04-19 19:43             ` Alex Tomas
2006-04-19 23:44             ` Neil Brown
2006-04-20  8:22               ` Michael Tokarev [this message]
2006-04-27  0:18                 ` Neil Brown
2006-04-19 19:40           ` Alex Tomas
2006-04-19 23:54             ` Neil Brown

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=444744E0.7010509@tls.msk.ru \
    --to=mjt@tls.msk.ru \
    --cc=alex@clusterfs.com \
    --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).