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