linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* md.txt, preread_bypass_threshold and raid5: corrected error
@ 2008-11-12 16:49 Justin Piszcz
  2008-11-12 19:02 ` Justin Piszcz
  2008-11-15  1:00 ` Dan Williams
  0 siblings, 2 replies; 5+ messages in thread
From: Justin Piszcz @ 2008-11-12 16:49 UTC (permalink / raw)
  To: linux-raid

Read through md.txt from 2.6.27.5, noticed this at the end:

   preread_bypass_threshold (currently raid5 only)
       number of times a stripe requiring preread will be bypassed by
       a stripe that does not require preread.  For fairness defaults
       to 1.  Setting this to 0 disables bypass accounting and
       requires preread stripes to wait until all full-width stripe-
       writes are complete.  Valid values are 0 to stripe_cache_size.

In terms of performance for raid5/raid6 - what does this mean?

Also in md.txt there is a lot of outdated information, (e.g. you can only 
grow raid5, etc).

e.g.:

   raid_disks
      a text file with a simple number indicating the number of devices
      in a fully functional array.  If this is not yet known, the file
      will be empty.  If an array is being resized (not currently
                                                   ^^^^^^^^^^^^^^
      possible) this will contain the larger of the old and new sizes.
      ^^^^^^^^^
      Some raid level (RAID1) allow this value to be set while the
      array is active.  This will reconfigure the array.   Otherwise
      it can only be set while assembling an array.


BTW, I did read the URL on correcting sectors etc on RAID5 from yesterday, 
it was quite nice, but is there anyway that-- it can happen automatically 
like a traditional HW raid controller does during a scrubbing or must one 
perform those tasks in the document in order to make it force-reallocate 
the sectors etc?

Justin.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: md.txt, preread_bypass_threshold and raid5: corrected error
  2008-11-12 16:49 md.txt, preread_bypass_threshold and raid5: corrected error Justin Piszcz
@ 2008-11-12 19:02 ` Justin Piszcz
  2008-11-15  1:00 ` Dan Williams
  1 sibling, 0 replies; 5+ messages in thread
From: Justin Piszcz @ 2008-11-12 19:02 UTC (permalink / raw)
  To: linux-raid



On Wed, 12 Nov 2008, Justin Piszcz wrote:

> Read through md.txt from 2.6.27.5, noticed this at the end:
>
>  preread_bypass_threshold (currently raid5 only)
>      number of times a stripe requiring preread will be bypassed by
>      a stripe that does not require preread.  For fairness defaults
>      to 1.  Setting this to 0 disables bypass accounting and
>      requires preread stripes to wait until all full-width stripe-
>      writes are complete.  Valid values are 0 to stripe_cache_size.
>
> In terms of performance for raid5/raid6 - what does this mean?
>
> Also in md.txt there is a lot of outdated information, (e.g. you can only 
> grow raid5, etc).
>
> e.g.:
>
>  raid_disks
>     a text file with a simple number indicating the number of devices
>     in a fully functional array.  If this is not yet known, the file
>     will be empty.  If an array is being resized (not currently
>                                                  ^^^^^^^^^^^^^^
>     possible) this will contain the larger of the old and new sizes.
>     ^^^^^^^^^
>     Some raid level (RAID1) allow this value to be set while the
>     array is active.  This will reconfigure the array.   Otherwise
>     it can only be set while assembling an array.
>
>
> BTW, I did read the URL on correcting sectors etc on RAID5 from yesterday, it 
> was quite nice, but is there anyway that-- it can happen automatically like a 
> traditional HW raid controller does during a scrubbing or must one perform 
> those tasks in the document in order to make it force-reallocate the sectors 
> etc?
>
> Justin.
>

This is from Bruce on the smartmontools mailing list:

Here is a nice description of tracking down an UNC sector on a Linux 
software RAID device.  Apparently it was subsequently corrected by the 
RAID driver.

http://www.roeckx.be/journal/Finding_which_sector_belongs_to_which_file_on_a_RAID_device_.html




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: md.txt, preread_bypass_threshold and raid5: corrected error
  2008-11-12 16:49 md.txt, preread_bypass_threshold and raid5: corrected error Justin Piszcz
  2008-11-12 19:02 ` Justin Piszcz
@ 2008-11-15  1:00 ` Dan Williams
  2008-11-15 17:52   ` Richard Scobie
  1 sibling, 1 reply; 5+ messages in thread
From: Dan Williams @ 2008-11-15  1:00 UTC (permalink / raw)
  To: Justin Piszcz; +Cc: linux-raid

On Wed, Nov 12, 2008 at 9:49 AM, Justin Piszcz <jpiszcz@lucidpixels.com> wrote:
> Read through md.txt from 2.6.27.5, noticed this at the end:
>
>  preread_bypass_threshold (currently raid5 only)
>      number of times a stripe requiring preread will be bypassed by
>      a stripe that does not require preread.  For fairness defaults
>      to 1.  Setting this to 0 disables bypass accounting and
>      requires preread stripes to wait until all full-width stripe-
>      writes are complete.  Valid values are 0 to stripe_cache_size.
>
> In terms of performance for raid5/raid6 - what does this mean?
>

When writes are streaming do a raid5/6 array the best performance is
achieved when the code can do a full-stripe-write.  In other words, a
write that does not require reading old data to generate new parity.
By default MD tries to be fair and allow partially written stripes the
same access to the disk as fully written stripes to prevent starvation
for little writers.  However, you can sometimes eek out more streaming
performance at the cost of fairness by increasing this value (where 0
== never let a preread pass a full-stripe-write).

--
Dan

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: md.txt, preread_bypass_threshold and raid5: corrected error
  2008-11-15  1:00 ` Dan Williams
@ 2008-11-15 17:52   ` Richard Scobie
  2008-11-15 22:52     ` Dan Williams
  0 siblings, 1 reply; 5+ messages in thread
From: Richard Scobie @ 2008-11-15 17:52 UTC (permalink / raw)
  To: Dan Williams; +Cc: Linux RAID Mailing List

Dan Williams wrote:

> By default MD tries to be fair and allow partially written stripes the
> same access to the disk as fully written stripes to prevent starvation
> for little writers.  However, you can sometimes eek out more streaming
> performance at the cost of fairness by increasing this value (where 0
> == never let a preread pass a full-stripe-write).

I believe XFS optimises for full stripe writes, so perhaps this setting 
is of more benefit for other file systems?

As always I guess, real world testing is the only answer.

Regards,

Richard

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: md.txt, preread_bypass_threshold and raid5: corrected error
  2008-11-15 17:52   ` Richard Scobie
@ 2008-11-15 22:52     ` Dan Williams
  0 siblings, 0 replies; 5+ messages in thread
From: Dan Williams @ 2008-11-15 22:52 UTC (permalink / raw)
  To: Richard Scobie; +Cc: Linux RAID Mailing List

On Sat, Nov 15, 2008 at 10:52 AM, Richard Scobie <richard@sauce.co.nz> wrote:
> Dan Williams wrote:
>
>> By default MD tries to be fair and allow partially written stripes the
>> same access to the disk as fully written stripes to prevent starvation
>> for little writers.  However, you can sometimes eek out more streaming
>> performance at the cost of fairness by increasing this value (where 0
>> == never let a preread pass a full-stripe-write).
>
> I believe XFS optimises for full stripe writes, so perhaps this setting is
> of more benefit for other file systems?
>

Not really.  XFS was used when benchmarking this change [1] and was
able to measure a performance gain.

[1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8b3e6cdc53b7f29f7026955d6cb6902a49322a15

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-11-15 22:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-12 16:49 md.txt, preread_bypass_threshold and raid5: corrected error Justin Piszcz
2008-11-12 19:02 ` Justin Piszcz
2008-11-15  1:00 ` Dan Williams
2008-11-15 17:52   ` Richard Scobie
2008-11-15 22:52     ` Dan Williams

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).