Thread (5 messages) 5 messages, 3 authors, 2008-11-15

Re: md.txt, preread_bypass_threshold and raid5: corrected error

From: Dan Williams <hidden>
Date: 2008-11-15 01:00:09

On Wed, Nov 12, 2008 at 9:49 AM, Justin Piszcz [off-list ref] 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help