Thread (2 messages) 2 messages, 2 authors, 2006-12-26

Re: [patch] latency problem in md driver

From: Lars Ellenberg <Lars.Ellenberg@linbit.com>
Date: 2006-12-26 13:09:37

/ 2006-12-23 07:40:18 +1100
\ Neil Brown:
On Friday December 22, Lars.Ellenberg@linbit.com wrote:
quoted
md raidX make_request functions strip off the BIO_RW_SYNC flag,
this introducing additional latency.

below is a suggested patch for the raid1.c .
other suggested solutions would be to let the bio_clone do its work,
and not reassign thereby stripping off all flags.
at most strip off known unwanted flags (the BARRIER flag).

similar pattern in the other raid versions.
Thanks.  I think your patch is appropriate.
I don't like the idea of passing down any flags by default.  If a flag
makes failure more likely (like BIO_RW_AHEAD or BIO_RW_FAILFAST) then
I *don't* want it passed down without making a conscious decision that
it is a good idea.

So yes, _SYNC should be passed down in raid1/raid10.  More interesting
stuff would be needed in raid456.
_FAILFAST should probably never be passed down (well, maybe in
multipath, but who uses md/multipath??)
_META ... what is that ?? I'm not passing it down until I know!!

I'll look into this after the holidays.  Meanwhile if you want to be
certain that this is in 2.6.20,
  - Fix the retry-read case as well (where ->bi_rw is assigned about
    10 lines from the end of raid1d()
I don't think thats necessary,
since an explicit unplug is in place there.
but ok.
  - Create a 'perfect patch',
  - add Acked-by: NeilBrown [off-list ref]
  - and post it to akpm@osdl.org (and appropriate lists).
-- 
: Lars Ellenberg                            Tel +43-1-8178292-55 :
: LINBIT Information Technologies GmbH      Fax +43-1-8178292-82 :
: Vivenotgasse 48, A-1120 Vienna/Europe    http://www.linbit.com :
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help