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 <linux-btrfs@vger.kernel.org>
Subject: Re: Updated performance results
Date: Mon, 14 Sep 2009 19:13:03 -0400	[thread overview]
Message-ID: <20090914231303.GS8839@think> (raw)
In-Reply-To: <4AAEB89C.3040100@austin.ibm.com>

On Mon, Sep 14, 2009 at 04:41:48PM -0500, Steven Pratt wrote:
> Chris Mason wrote:
> >On Fri, Sep 11, 2009 at 04:35:50PM -0500, Steven Pratt wrote:
> >>Chris Mason wrote:
> >>>On Mon, Aug 31, 2009 at 12:49:13PM -0500, Steven Pratt wrote:
> >>>>Better late than never. Finally got this finished up.  Mixed bag on
> >>>>this one.  BTRFS lags significantly on single threaded.  Seems
> >>>>unable to keep IO outstanding to the device.  Less that 60% busy on
> >>>>the DM device, compared to 97%+ for all other filesystems.
> >>>>nodatacow helps out, increasing utilization to about 70%, but still
> >>>>trails by a large margin.
> >>>Hi Steve,
> >>>
> >>>Jens Axboe did some profiling on his big test rig and I think we found
> >>>the biggest CPU problems.  The end result is now setting in the master
> >>>branch of the btrfs-unstable repo.
> >>>
> >>>On his boxes, btrfs went from around 400MB/s streaming writes to 1GB/s
> >>>limit, and we're now tied with XFS while using less CPU time.
> >>>
> >>>Hopefully you will see similar results ;)
> >>Hmmm, well no I didn't.  Throughputs at 1 and 128 threads are pretty
> >>much unchanged, although I do see a good CPU savings on the 128
> >>thread case (with cow).  For 16 threads we actually regressed with
> >>cow enabled.
> >>
> >>Results  are here:
> >>
> >>http://btrfs.boxacle.net/repository/raid/large_create_test/write-test/1M_odirect_create.html
> >>
> >>I'll try to look more into this next week.
> >>
> >
> >Hmmm, Jens was benchmarking buffered writes, but he was also testing on
> >his new per-bdi write back code.  If your next run could be buffered
> >instead of O_DIRECT, I'd be curious to see the results.
> >
> Buffered does look a lot better. I don't have a btrfs baseline
> before these latest changes for this exact workload, but these
> results are not bad at all.  With cow, beats just about everything
> except XFS, and with nocow simply screams.  CPU consumption looks
> good as well.  I'll probably give the full set of tests a run
> tonight.

Wow, good news at last ;)  For the oops, try the patch below (I need to
push it out, but I think it'll help).

I'll try to figure out the O_DIRECT problems.


-chris

diff --git a/fs/btrfs/async-thread.c b/fs/btrfs/async-thread.c
index 6ea5cd0..ba28742 100644
--- a/fs/btrfs/async-thread.c
+++ b/fs/btrfs/async-thread.c
@@ -177,7 +177,7 @@ static int try_worker_shutdown(struct btrfs_worker_thread *worker)
 	int freeit = 0;
 
 	spin_lock_irq(&worker->lock);
-	spin_lock_irq(&worker->workers->lock);
+	spin_lock(&worker->workers->lock);
 	if (worker->workers->num_workers > 1 &&
 	    worker->idle &&
 	    !worker->working &&
@@ -188,7 +188,7 @@ static int try_worker_shutdown(struct btrfs_worker_thread *worker)
 		list_del_init(&worker->worker_list);
 		worker->workers->num_workers--;
 	}
-	spin_unlock_irq(&worker->workers->lock);
+	spin_unlock(&worker->workers->lock);
 	spin_unlock_irq(&worker->lock);
 
 	if (freeit)

  reply	other threads:[~2009-09-14 23:13 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-23 18:35 Updated performance results Steven Pratt
2009-07-23 21:00 ` Chris Mason
2009-07-23 22:04   ` Steven Pratt
2009-07-24 13:24     ` Chris Mason
2009-07-24 14:00       ` Chris Mason
2009-07-24 15:05         ` Steven Pratt
2009-07-28 20:12         ` Steven Pratt
2009-07-28 20:23           ` Chris Mason
2009-07-28 21:10             ` Steven Pratt
2009-08-05 20:35               ` Chris Mason
2009-08-07  7:30                 ` debian developer
2009-08-07 13:56                   ` Steven Pratt
2009-08-07 13:56                 ` Steven Pratt
2009-08-07 23:12                   ` Chris Mason
2009-08-31 17:49                     ` Steven Pratt
2009-09-11 19:29                       ` Chris Mason
2009-09-11 21:35                         ` Steven Pratt
2009-09-14 13:51                           ` Chris Mason
2009-09-14 17:20                             ` Jens Axboe
2009-09-14 21:41                             ` Steven Pratt
2009-09-14 23:13                               ` Chris Mason [this message]
2009-09-16  0:52                               ` Chris Mason
2009-09-16 15:15                                 ` Steven Pratt
2009-09-16 17:57                                   ` Steven Pratt
2009-09-16 18:07                                     ` Chris Mason
2009-09-16 18:15                                       ` Steven Pratt
2009-09-16 18:17                                         ` Chris Mason
2009-09-16 18:16                                       ` Steven Pratt
2009-09-16 18:20                                         ` Chris Mason
2009-09-16 18:37                                           ` Steven Pratt
2009-09-17 18:32                                 ` Eric Whitney
2009-09-17 18:39                                   ` Steven Pratt
2009-09-17 18:52                                     ` Chris Mason
2009-09-17 20:17                                       ` Chris Mason
2009-09-17 20:43                                         ` Chris Mason
2009-09-17 22:04                                           ` Steven Pratt
2009-09-18 20:14                                             ` Chris Mason
2009-09-23 15:24                                               ` Steven Pratt

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=20090914231303.GS8839@think \
    --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.