linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 wouldn’t 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

  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).