From: Neil Brown <neilb@suse.de>
To: mark delfman <markdelfman@googlemail.com>
Cc: "Mattias Hellström" <hellstrom.mattias@gmail.com>,
"Linux RAID Mailing List" <linux-raid@vger.kernel.org>,
npiggin@suse.de
Subject: Re: MD write performance issue - found Catalyst patches
Date: Thu, 29 Oct 2009 17:41:21 +1100 [thread overview]
Message-ID: <19177.14609.138378.581065@notabene.brown> (raw)
In-Reply-To: message from mark delfman on Sunday October 18
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=unknown, Size: 2293 bytes --]
On Sunday October 18, markdelfman@googlemail.com wrote:
> We have tracked the performance drop to the attached two commits in
> 2.6.28.6. The performance never fully recovers in later kernels so
> I presuming that the change in the write cache is still affecting MD
> today.
>
> The problem for us is that although we have slowly tracked it down, we
> have no understanding of linux at this level and simply wouldnt know
> where go from this point.
>
> Considering this seems to only effect MD and not hardware based RAID
> (in our tests) I thought that this would be an appropriate place to
> post these patches and findings.
>
> There are 2 patches which impact MD performance via a filesystem:
>
> a) commit 66c85494570396661479ba51e17964b2c82b6f39 - write-back: fix
> nr_to_write counter
> b) commit fa76ac6cbeb58256cf7de97a75d5d7f838a80b32 - Fix page
> writeback thinko, causing Berkeley DB slowdown
>
I've had a look at this and asked around and I'm afraid there doesn't
seem to be an easy answer.
The most likely difference between 'before' and 'after' those patches
is that more pages are being written per call to generic_writepages in
the 'before' case. This would generally improve throughput,
particularly with RAID5 which would get more full stripes.
However that is largely a guess as the bugs which were fixed by the
patch could interact in interesting ways with XFS (which decrements
->nr_to_write itself) and it isn't immediately clear to me that more
pages would be written...
In any case, the 'after' code is clearly correct, so if throughput can
really be increased, the change should be somewhere else.
What might be useful would be to instrument write_cache_pages to count
how many pages were written each time it calls. You could either
print this number out every time or, if that creates too much noise,
print out an average ever 512 calls or similar.
Seeing how this differs with and without the patches in question could
help understand what is going one and provide hints for how to fix it.
NeilBrown
--
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:[~2009-10-29 6:41 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-18 10:00 MD write performance issue - found Catalyst patches mark delfman
2009-10-18 22:39 ` NeilBrown
2009-10-29 6:41 ` Neil Brown [this message]
2009-10-29 6:48 ` Thomas Fjellstrom
2009-10-29 7:32 ` Thomas Fjellstrom
2009-10-29 8:08 ` Asdo
2009-10-31 10:51 ` mark delfman
2009-11-03 4:58 ` Neil Brown
2009-11-03 12:11 ` mark delfman
2009-11-04 17:15 ` mark delfman
2009-11-04 17:25 ` Asdo
[not found] ` <66781b10911050904m407d14d6t7d3bec12578d6500@mail.gmail.com>
2009-11-05 19:09 ` Asdo
2009-11-06 4:52 ` Neil Brown
2009-11-06 10:28 ` Asdo
2009-11-06 10:51 ` Neil F Brown
2009-11-06 15:51 ` mark delfman
2009-11-04 19:05 ` Steve Cousins
2009-11-04 22:08 ` mark delfman
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=19177.14609.138378.581065@notabene.brown \
--to=neilb@suse.de \
--cc=hellstrom.mattias@gmail.com \
--cc=linux-raid@vger.kernel.org \
--cc=markdelfman@googlemail.com \
--cc=npiggin@suse.de \
/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 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).