From: Josef Bacik <josef@redhat.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-fsdevel@vger.kernel.org, linux-btrfs@vger.kernel.org,
chris.mason@oracle.com
Subject: Re: [RFC] Add a new file op for fsync to give fs's more control
Date: Fri, 15 Apr 2011 15:32:41 -0400 [thread overview]
Message-ID: <4DA89D59.1070402@redhat.com> (raw)
In-Reply-To: <20110415192412.GA17974@infradead.org>
On 04/15/2011 03:24 PM, Christoph Hellwig wrote:
> Sorry, but this is too ugly to live. If the reason for this really is
> good enough we'll just need to push the filemap_write_and_wait_range
> and i_mutex locking into every ->fsync instance.
>
So part of what makes small fsyncs slow in btrfs is all of our random
threads to make checksumming not suck. So we submit IO which spreads it
out to helper threads to do the checksumming, and then when it returns
it gets handed off to endio threads that run the endio stuff. This
works awesome with doing big writes and such, but if say we're and RPM
database and write a couple of kilbytes, this tends to suck because we
keep handing work off to other threads and waiting, so the scheduling
latencies really hurt.
So we'd like to be able to say "hey this is a small amount of io, lets
just do the checksumming in the current thread", and the same with
handling the endio stuff. We can't do that currently because
filemap_write_and_wait_range is called before we get to fsync. We'd
like to be able to control this so we can do the appropriate magic to do
the submission within the fsyncings thread context in order to speed
things up a bit.
That plus the stuff I said about i_mutex. Is that a good enough reason
to just push this down into all the filesystems? Thanks,
Josef
next prev parent reply other threads:[~2011-04-15 19:32 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-15 19:09 [RFC] Add a new file op for fsync to give fs's more control Josef Bacik
2011-04-15 19:09 ` [PATCH 1/2] fs: add a ->fsync_nolock file op Josef Bacik
2011-04-15 19:09 ` [PATCH 2/2] Btrfs: switch to the ->fsync_nolock helper Josef Bacik
2011-04-15 19:24 ` [RFC] Add a new file op for fsync to give fs's more control Christoph Hellwig
2011-04-15 19:32 ` Josef Bacik [this message]
2011-04-18 6:49 ` liubo
2011-04-18 14:10 ` Josef Bacik
2011-04-18 14:30 ` Chris Mason
2011-04-15 19:34 ` Chris Mason
2011-04-15 19:49 ` Christoph Hellwig
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=4DA89D59.1070402@redhat.com \
--to=josef@redhat.com \
--cc=chris.mason@oracle.com \
--cc=hch@infradead.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-fsdevel@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;
as well as URLs for NNTP newsgroup(s).