linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bill Davidsen <davidsen@tmr.com>
To: Neil Brown <neilb@suse.de>
Cc: "Raz Ben-Jehuda(caro)" <raziebe@gmail.com>,
	Linux RAID Mailing List <linux-raid@vger.kernel.org>
Subject: Re: raid5 performance question
Date: Wed, 22 Mar 2006 08:22:26 -0500	[thread overview]
Message-ID: <44214F92.5020002@tmr.com> (raw)
In-Reply-To: <17422.4406.887200.421869@cse.unsw.edu.au>

Neil Brown wrote:

>On Tuesday March 7, raziebe@gmail.com wrote:
>  
>
>>Neil.
>>what is the stripe_cache exacly ?
>>    
>>
>
>In order to ensure correctness of data, all IO operations on a raid5
>pass through the 'stripe cache'  This is a cache of stripes where each
>stripe is one page wide across all devices.
>
>e.g. to write a block, we allocate one stripe in the cache to cover
>that block, pre-read anything that might be needed, copy in the new
>data and update parity, and write out anything that has changed.
>  
>
I can see that you would have to read the old data and parity blocks for 
RAID-5, I assume that's what you mean by "might be needed" and not a 
read of every drive to get the data to rebuild the parity from scratch. 
That would be not only slower, but require complex error recovery on an 
error reading unneeded data.

>Similarly to read, we allocate a stripe to cover the block, read in
>the requires parts, and copy out of the stripe cache into the
>destination.
>
>Requiring all reads to pass through the stripe cache is not strictly
>necessary, but it keeps the code a lot easier to manage (fewer special
>cases).   Bypassing the cache for simple read requests when the array
>is non-degraded is on my list....
>
It sounds as if you do a memory copy with each read, even if a read to 
user buffer would be possible. Hopefully I'm reading that wrong.

-- 
bill davidsen <davidsen@tmr.com>
  CTO TMR Associates, Inc
  Doing interesting things with small computers since 1979


  reply	other threads:[~2006-03-22 13:22 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-06 11:46 raid5 performance question Raz Ben-Jehuda(caro)
2006-03-06 11:59 ` Gordon Henderson
2006-03-06 12:56   ` Raz Ben-Jehuda(caro)
2006-03-13 22:36     ` raid5 hang on get_active_stripe Patrik Jonsson
2006-03-13 23:17       ` Neil Brown
2006-05-11 15:13         ` dean gaudet
2006-05-17 18:41           ` dean gaudet
2006-05-19  3:46             ` Neil Brown
2006-05-23  2:33             ` Neil Brown
2006-05-26 16:07               ` dean gaudet
2006-05-26 23:55                 ` Neil Brown
2006-05-27  0:28                   ` dean gaudet
2006-05-27 15:42                   ` dean gaudet
2006-05-28 12:04                     ` Neil Brown
2006-05-29 20:56                       ` dean gaudet
2006-05-29 23:51                         ` Neil Brown
2006-05-31  0:15                           ` dean gaudet
2006-05-31  0:46                             ` Neil Brown
2006-05-31  1:03                               ` dean gaudet
2006-05-31  1:38                                 ` Neil Brown
2006-05-31  1:46                                   ` dean gaudet
2006-06-01  2:51                                     ` Neil Brown
2006-06-02  7:10                                       ` dean gaudet
2006-06-02  7:27                                         ` Neil Brown
2006-06-10 19:49                                           ` dean gaudet
2006-06-13 18:53                                           ` Bill Davidsen
2006-06-13 19:05                                             ` dean gaudet
2006-06-13 23:13                                             ` Neil Brown
2006-10-07 23:25                                               ` Chris Allen
2006-10-09 11:03                                                 ` Chris Allen
2006-10-09 23:06                                                   ` Neil Brown
2006-10-09 23:21                                                     ` Chris Allen
2006-10-10  0:08                                                       ` Neil Brown
2006-10-10 10:27                                                         ` Bas van Schaik
2006-11-14 10:28                                                         ` Chris Allen
2006-11-15 20:39                                                           ` dean gaudet
2006-03-06 22:17 ` raid5 performance question Guy
2006-03-06 22:24 ` Neil Brown
2006-03-07  8:40   ` Raz Ben-Jehuda(caro)
2006-03-07 23:03     ` Neil Brown
2006-03-22 13:22       ` Bill Davidsen [this message]
2006-03-24  4:40         ` Neil Brown
2006-03-08  6:45   ` thunder7
  -- strict thread matches above, loose matches on Subject: below --
2007-04-16 17:42 Raid5 " mickg

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=44214F92.5020002@tmr.com \
    --to=davidsen@tmr.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=raziebe@gmail.com \
    /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).