linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Mason <chris.mason@oracle.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
	linux-btrfs <linux-btrfs@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>
Subject: Re: Btrfs v0.16 released
Date: Fri, 08 Aug 2008 14:48:13 -0400	[thread overview]
Message-ID: <1218221293.15342.263.camel@think.oraclecorp.com> (raw)
In-Reply-To: <877ias66v4.fsf@basil.nowhere.org>

On Thu, 2008-08-07 at 20:02 +0200, Andi Kleen wrote:
> Chris Mason <chris.mason@oracle.com> writes:
> >
> > Metadata is duplicated by default even on single spindle drives, 
> 
> Can you please say a bit how much that impacts performance? That sounds 
> costly.

Most metadata is allocated in groups of 128k or 256k, and so most of the
writes are nicely sized.  The mirroring code has areas of the disk
dedicated to mirror other areas.  So we end up with something like this:

metadata chunk A (~1GB in size)
[ ......................... ]

mirror of chunk A (~1GB in size)
[ ......................... ]

So, the mirroring turns a single large write into two large writes.
Definitely not free, but always a fixed cost.

I started to make some numbers of this yesterday on single spindles and
discovered that my worker threads are not doing as good a job as they
should be of maintaining IO ordering.  I've been using an array with a
writeback cache for benchmarking lately and hadn't noticed.

I need to fix that, but here are some numbers on a single sata drive.
The drive can do about 100MB/s streaming reads/writes.  Btrfs
checksumming and inline data (tail packing) are both turned on.

Single process creating 30 kernel trees (2.6.27-rc2)

Btrfs defaults	36MB/s
Btrfs no mirror 50MB/s
Ext4 defaults   59.2MB/s (much better than ext3 here)

With /sys/block/sdb/queue/nr_requests at 8192 to hide my IO ordering
submission problems:

Btrfs defaults: 57MB/s
Btrfs no mirror: 61.51MB/s

-chris



  reply	other threads:[~2008-08-08 18:48 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-05 19:01 Btrfs v0.16 released Chris Mason
2008-08-07  9:08 ` Peter Zijlstra
2008-08-07 10:34   ` Chris Mason
2008-08-07 14:58     ` Chris Friesen
2008-08-07 15:07     ` tvrtko.ursulin
2008-08-07  9:14 ` Peter Zijlstra
2008-08-07 10:39   ` Chris Mason
     [not found]     ` <3da3b5b40808070703x4cf49471q6acc00351ba019d7@mail.gmail.com>
2008-08-07 14:06       ` Chris Mason
2008-08-07 18:02     ` Andi Kleen
2008-08-08 18:48       ` Chris Mason [this message]
2008-08-08 21:56         ` Andi Kleen
2008-08-09  1:19           ` Theodore Tso
2008-08-09  1:23             ` Andi Kleen
     [not found]             ` <20080809012322.GF9038@one.firstfloor.org>
2008-08-09  1:43               ` Theodore Tso
2008-08-14 21:00         ` Chris Mason
2008-08-14 21:17           ` Andi Kleen
2008-08-15  1:25             ` Chris Mason
2008-08-15  1:39               ` Andi Kleen
2008-08-15 13:00                 ` Chris Mason
2008-08-16 19:26                   ` Szabolcs Szakacsits
2008-08-18 13:52                     ` Chris Mason
2008-08-18 17:37                       ` Szabolcs Szakacsits
2008-08-14 23:44           ` Theodore Tso
2008-08-15  1:10             ` Chris Mason
2008-08-15 12:46               ` Chris Mason
2008-08-15 13:45                 ` Theodore Tso
2008-08-15 17:52                   ` Chris Mason
2008-08-15 19:59                     ` Theodore Tso
2008-08-15 20:37                       ` Chris Mason
2008-08-16 18:10                         ` Chris Mason
2008-08-16 19:27                           ` Theodore Tso

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=1218221293.15342.263.camel@think.oraclecorp.com \
    --to=chris.mason@oracle.com \
    --cc=andi@firstfloor.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    /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).