From: Josef Bacik <josef@redhat.com>
To: Chris Mason <chris.mason@oracle.com>,
Josef Bacik <josef@redhat.com>, Christian Brunner <chb@muc.de>,
Sage Weil <sage@newdream.net>,
ceph-devel@vger.kernel.org, linux-btrfs@vger.kernel.org
Subject: Re: ceph on btrfs [was Re: ceph on non-btrfs file systems]
Date: Thu, 27 Oct 2011 11:07:38 -0400 [thread overview]
Message-ID: <20111027150738.GA2329@localhost.localdomain> (raw)
In-Reply-To: <20111026132354.GC4588@shiny.Mikenopa.local>
On Wed, Oct 26, 2011 at 09:23:54AM -0400, Chris Mason wrote:
> On Tue, Oct 25, 2011 at 04:22:48PM -0400, Josef Bacik wrote:
> > On Tue, Oct 25, 2011 at 04:15:45PM -0400, Chris Mason wrote:
> > > On Tue, Oct 25, 2011 at 11:05:12AM -0400, Josef Bacik wrote:
> > > > On Tue, Oct 25, 2011 at 04:25:02PM +0200, Christian Brunner wrote:
> > > > >
> > > > > Attached is a perf-report. I have included the whole report, so that
> > > > > you can see the difference between the good and the bad
> > > > > btrfs-endio-wri.
> > > > >
> > > >
> > > > We also shouldn't be running run_ordered_operations, man this is screwed up,
> > > > thanks so much for this, I should be able to nail this down pretty easily.
> > > > Thanks,
> > >
> > > Looks like we're getting there from reserve_metadata_bytes when we join
> > > the transaction?
> > >
> >
> > We don't do reservations in the endio stuff, we assume you've reserved all the
> > space you need in delalloc, plus we would have seen reserve_metadata_bytes in
> > the trace. Though it does look like perf is lying to us in at least one case
> > sicne btrfs_alloc_logged_file_extent is only called from log replay and not
> > during normal runtime, so it definitely shouldn't be showing up. Thanks,
>
> Whoops, I should have read that num_items > 0 check harder.
>
> btrfs_end_transaction is doing it by setting ->blocked = 1
>
> if (lock && !atomic_read(&root->fs_info->open_ioctl_trans) &&
> should_end_transaction(trans, root)) {
> trans->transaction->blocked = 1;
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> smp_wmb();
> }
>
> if (lock && cur_trans->blocked && !cur_trans->in_commit) {
> ^^^^^^^^^^^^^^^^^^^
> if (throttle) {
> /*
> * We may race with somebody else here so end up having
> * to call end_transaction on ourselves again, so inc
> * our use_count.
> */
> trans->use_count++;
> return btrfs_commit_transaction(trans, root);
> } else {
> wake_up_process(info->transaction_kthread);
> }
> }
>
Not sure what you are getting at here? Even if we set blocked, we're not
throttling so it will just wake up the transaction kthread, so we won't do the
commit in the endio case. Thanks
Josef
next prev parent reply other threads:[~2011-10-27 15:07 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.4.64.1110231739380.25255@cobra.newdream.net>
[not found] ` <CAO47_-9jp===DT=scpe=U8BnPnUCAVz7xUWVCC9AMVmx67CdaA@mail.gmail.com>
2011-10-24 17:06 ` ceph on btrfs [was Re: ceph on non-btrfs file systems] Sage Weil
2011-10-24 19:51 ` Josef Bacik
2011-10-24 20:35 ` Chris Mason
2011-10-24 21:34 ` Christian Brunner
2011-10-24 21:37 ` Arne Jansen
2011-10-25 11:56 ` Christian Brunner
2011-10-25 12:23 ` Josef Bacik
2011-10-25 14:25 ` Christian Brunner
2011-10-25 15:00 ` Josef Bacik
2011-10-25 15:05 ` Josef Bacik
2011-10-25 15:13 ` Christian Brunner
2011-10-25 20:15 ` Chris Mason
2011-10-25 20:22 ` Josef Bacik
2011-10-26 0:16 ` Christian Brunner
2011-10-26 8:21 ` Christian Brunner
2011-10-26 13:23 ` Chris Mason
2011-10-27 15:07 ` Josef Bacik [this message]
2011-10-27 18:14 ` Josef Bacik
2011-10-25 16:36 ` Sage Weil
2011-10-25 19:09 ` Christian Brunner
2011-10-25 22:27 ` Sage Weil
2011-10-27 19:52 ` Josef Bacik
2011-10-27 20:39 ` Christian Brunner
[not found] ` <CAO47_-_+Oqs1sHeYEBfxgwugSUYKftQLQ9jEyDgFPFu8fXe34w@mail.gmail.com>
[not found] ` <CAO47_-8YGAxoYOBRKxLP2HULqEtV5bMugzzybq3srCVFZczgGA@mail.gmail.com>
2011-10-31 10:25 ` Christian Brunner
2011-10-31 13:29 ` Christian Brunner
2011-10-31 14:04 ` Josef Bacik
2011-10-25 10:23 ` Christoph Hellwig
2011-10-25 16:23 ` Sage Weil
[not found] <CAO47_-9L7SdQwhJ27B6yzrqG8xvj+CeZHeSutgeCixcv7kUidg@mail.gmail.com>
[not found] ` <Pine.LNX.4.64.1110252221510.6574@cobra.newdream.net>
2011-10-26 8:12 ` Christian Brunner
2011-10-26 16:32 ` Sage Weil
[not found] <4EA86FD7.4030407@tuxadero.com>
2011-10-27 10:53 ` Martin Mailand
2011-10-27 10:59 ` Stefan Majer
2011-10-27 11:17 ` Martin Mailand
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=20111027150738.GA2329@localhost.localdomain \
--to=josef@redhat.com \
--cc=ceph-devel@vger.kernel.org \
--cc=chb@muc.de \
--cc=chris.mason@oracle.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=sage@newdream.net \
/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