From: Paul Clements <paul.clements@steeleye.com>
To: Neil Brown <neilb@cse.unsw.edu.au>
Cc: jejb@steeleye.com, linux-raid@vger.kernel.org
Subject: Re: [ANNOUNCE][PATCH 2.6] md: persistent (file-backed) bitmap and async writes
Date: Tue, 21 Sep 2004 15:19:03 -0400 [thread overview]
Message-ID: <41507EA7.1000905@steeleye.com> (raw)
In-Reply-To: <414F9FD4.4070308@steeleye.com>
Paul Clements wrote:
> OK, here we go again. The patch has been updated to 2.6.9-rc2 and mdadm
> 1.7.0, and I've implemented the suggestions you've made below...
>
> Patches: http://parisc-linux.org/~jejb/md_bitmap/
Well, I ran some simple write performance benchmarks today and I was
stunned to find the bitmap performance was terrible. After debugging a
while, I realized the problem was having the bitmap daemon do the
wait_on_page_writeback...if the daemon got caught at the wrong time, it
could take quite a while to come back around and do the writeback. So, I
added yet another thread, the bitmap writeback daemon (whose sole
purpose is to wait for page writebacks) and now things are running
excellently. My simple benchmarks, which previously showed about a
25-30% slowdown when using a bitmap vs. not using one, now show only a
4% slowdown, which is pretty close to the margin of error in the test
itself. Check out the new patch here:
http://parisc-linux.org/~jejb/md_bitmap/md_bitmap_2_37_2_6_9_rc2.diff
Thanks again,
Paul
> Neil Brown wrote:
>
>> This is definitely heading in the right direction. However I think
>> you have missed some of the subtleties of plugging.
>
>
> [snip]
>
>> That should then have the bitmap updates happening before the
>> data updates, and should cluster bitmap updates better.
>
>
> OK, I've fixed that.
>
>> The next step would be to stop write_page from being synchronous - I'm
>> not comfortable about ->unplug-fn having to wait for disk io.
>
>
> Well, it still does have to wait for the bitmap writes to complete
> before letting the regular writes go, but I see your point about the
> writes being submitted simultaneously (nearly) rather than being
> completely serialized.
>
>> This looks to be quite awkward as there is not call-back that happens
>> when writeback on a page is completed. You need to have a kernel
>> thread to wait for the pages to complete. I would get the
>> bitmap_daemon to do this.
>
>
> OK, this is what I've done...there didn't seem to be a better place to
> do it.
>
>> Does that make sense?
>
>
> Certainly does, and seems to work...
> -
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2004-09-21 19:19 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-29 22:51 [ANNOUNCE][PATCH 2.6] md: persistent (file-backed) bitmap and async writes Paul Clements
2004-01-30 22:52 ` Paul Clements
2004-02-09 2:51 ` Neil Brown
2004-02-09 19:45 ` Paul Clements
2004-02-10 0:04 ` Neil Brown
2004-02-10 16:20 ` Paul Clements
2004-02-10 16:57 ` Paul Clements
2004-02-13 20:58 ` Paul Clements
2004-03-05 5:06 ` Neil Brown
2004-03-05 22:05 ` Paul Clements
2004-03-31 18:38 ` Paul Clements
2004-04-28 18:10 ` Paul Clements
2004-04-28 18:53 ` Peter T. Breuer
2004-04-29 8:41 ` Neil Brown
2004-05-04 20:08 ` Paul Clements
2004-06-08 20:53 ` Paul Clements
2004-06-08 22:47 ` Neil Brown
2004-06-14 23:39 ` Neil Brown
2004-06-14 23:59 ` James Bottomley
2004-06-15 6:27 ` Neil Brown
2004-06-17 17:57 ` Paul Clements
2004-06-18 20:48 ` Paul Clements
2004-06-23 21:48 ` Paul Clements
2004-06-23 21:50 ` Paul Clements
2004-07-06 14:52 ` Paul Clements
[not found] ` <40F7E50F.2040308@steeleye.com>
[not found] ` <16649.61212.310271.36561@cse.unsw.edu.au>
2004-08-10 21:37 ` Paul Clements
2004-08-13 3:04 ` Neil Brown
2004-09-21 3:28 ` Paul Clements
2004-09-21 19:19 ` Paul Clements [this message]
2004-10-12 2:15 ` Neil Brown
2004-10-12 14:06 ` Paul Clements
2004-10-12 21:16 ` Paul Clements
2004-11-10 0:37 ` md: persistent (file-backed) bitmap Neil Brown
2004-11-10 18:28 ` Paul Clements
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41507EA7.1000905@steeleye.com \
--to=paul.clements@steeleye.com \
--cc=jejb@steeleye.com \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@cse.unsw.edu.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.