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