public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Steven Pratt <slpratt@austin.ibm.com>
To: Chris Mason <chris.mason@oracle.com>
Cc: linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: Btrfs experimental branch rebased
Date: Sat, 21 Feb 2009 15:44:10 -0600	[thread overview]
Message-ID: <49A075AA.6080606@austin.ibm.com> (raw)
In-Reply-To: <1234969860.23031.18.camel@think.oraclecorp.com>

Chris Mason wrote:
> Hello everyone,
>
> My experimental performance fixes would occasionally trigger corruptions
> under load, so I've folded an incremental fix back in and rebased the
> experimental branch.  This was done to prevent git bisects later on from
> landing on the bad commit and corrupting some poor tester's FS.
>
> This only affects the experimental branch of btrfs-unstable, which is
> not what you get when you clone the tree unless you specifically ask for
> it.
>
> It also now includes Josef's ENOSPC work, which is a big improvement in
> enospc handling.  He has one set of fixes pending to avoid early enospc
> on metadata, and I'll push that out once he sends them along.
>
> Steve, most of the performance fixes are aimed at the mail server raid
> workload, and I'd be curious to see how it compares on your hardware.
>   

OK, I've been out of the country without internet access for  the week.  
Will try to get some runs in on Monday when I get back to the office.

> I'm afraid that mount -o noatime is required to get good numbers though,
> the cow  triggered by atime updates is fairly expensive compared with
> ext[34].
>
>   
Ok, I'll give it  a try with and without noatime.

> The experimental branch can be cloned with:
>
> git clone git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git experimental
>
> It has four main groups of changes:
>
> 1) Create an async queue of extent allocation tree modifications.  This
> allows the mods to be done outside of critical locks and it allows them
> to be ordered for less seeky IO.
>
> 2) Turn btrfs_unlink into a partially async operation.  This allows
> unlinks to complete in the background without the directory mutex held.
>
> 3) Josef's ENOSPC work.  This focuses on better accounting of delayed
> allocations, and covers the majority of the enospc problem.
>
> 4) Stack footprint reduction.  The async extent allocation tree mods and
> Josef's ENOSPC work both significantly reduce the depth of the call
> chains required to do given operations by doing extent allocation tree
> mods at different times.
>
> The experimental tree also has commits that reduce stack foot print on a
> number of functions, and it reorders some extent allocation tree mods
> for better batching at a more stack friendly time.
>
> -chris
>
>   
Steve


      parent reply	other threads:[~2009-02-21 21:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-18 15:11 Btrfs experimental branch rebased Chris Mason
2009-02-19 20:26 ` Chris Mason
2009-02-21 21:44 ` Steven Pratt [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=49A075AA.6080606@austin.ibm.com \
    --to=slpratt@austin.ibm.com \
    --cc=chris.mason@oracle.com \
    --cc=linux-btrfs@vger.kernel.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