Linux Btrfs filesystem development
 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: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <48FF87CE.2090502@austin.ibm.com>
     [not found] ` <1225308408.6448.287.camel@think.oraclecorp.com>
     [not found]   ` <4908C21D.5080302@austin.ibm.com>
2008-10-29 21:49     ` File System Performance results 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox