All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Mason <chris.mason@oracle.com>
To: Steven Pratt <slpratt@austin.ibm.com>
Cc: linux-btrfs@vger.kernel.org
Subject: Re: File System Performance results
Date: Mon, 10 Nov 2008 13:11:57 -0500	[thread overview]
Message-ID: <1226340717.23781.18.camel@think.oraclecorp.com> (raw)
In-Reply-To: <490F4D98.2050608@austin.ibm.com>

On Mon, 2008-11-03 at 13:14 -0600, Steven Pratt wrote:
> Chris Mason wrote:
> > On Wed, 2008-10-22 at 15:06 -0500, Steven Pratt wrote:
> >   
> >> We have set up a new page which is intended mainly for tracking the 
> >> performance of BTRFS, but in doing so we are testing other filesystems 
> >> as well (ext3, ext4, xfs and jfs).  Thought some people here might find 
> >> the results useful.
> >>     
> >
> > I think I understand the bad read performance in btrfs.  I was forcing a
> > tiny max readahead size.
> >
> > The current git tree has fixes for it, along with a ton of new code.
> >   
> Results for the the new (Git pull on 10/29) on the raid system are 
> complete.  Sequential read with a small number of threads has increased 
> dramatically, however on large number of threads (128) we see a large 
> dropoff in performance from before, as well as a huge spike in CPU 
> utilization. A quick look at the oprofile reveals some new functions at 
> the top which seem really out of place on a read only workload.
> 
> samples  %        image name               app name                 symbol name
> 13752215 23.8658  btrfs.ko                 btrfs                    alloc_extent_state
> 12840571 22.2837  btrfs.ko                 btrfs                    free_extent_state

It took a while, but I think I've tracked this down.  Btrfs has some
debugging code to detect and cleanup leaks of the extent_state structs,
and this adds a lot of contention to the alloc_extent_state and
free_extent_state code.

I've pushed out fixes for this, along with some other important
optimizations that should improve btrfs scores in your benchmarks.

Could you please give things a try?

-chris



      parent reply	other threads:[~2008-11-10 18:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-22 20:06 File System Performance results Steven Pratt
2008-10-25  9:15 ` Andreas Dilger
2008-10-27 14:28   ` Steven Pratt
2008-10-27 14:37     ` Chris Mason
2008-10-27 15:12       ` Steven Pratt
2008-10-27 16:02     ` Theodore Tso
2008-10-27 16:17       ` Steven Pratt
2008-10-29 19:26 ` Chris Mason
2008-10-29 20:05   ` Steven Pratt
2008-10-29 21:49     ` Steven Pratt
     [not found]   ` <490F4D98.2050608@austin.ibm.com>
2008-11-03 19:34     ` Chris Mason
2008-11-10 18:11     ` Chris Mason [this message]

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=1226340717.23781.18.camel@think.oraclecorp.com \
    --to=chris.mason@oracle.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=slpratt@austin.ibm.com \
    /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.