From: Kailas Joshi <kailas.joshi@gmail.com>
To: tytso@mit.edu
Cc: Jan Kara <jack@suse.cz>,
linux-ext4@vger.kernel.org, Jiaying Zhang <jiayingz@google.com>
Subject: Re: Help on Implementation of EXT3 type Ordered Mode in EXT4
Date: Wed, 17 Feb 2010 21:07:25 +0530 [thread overview]
Message-ID: <38f6fb7d1002170737l1e9e3b72ub08e106283c26501@mail.gmail.com> (raw)
In-Reply-To: <20100216141854.GT5337@thunk.org>
On 16 February 2010 19:48, <tytso@mit.edu> wrote:
> On Tue, Feb 16, 2010 at 02:10:39PM +0100, Jan Kara wrote:
>> Actually, stalling on a transaction in LOCKED state does have a negative
>> impact on the filesystem performance. But it's hard to avoid it. The
>> transaction is in LOCKED state while we've decided it needs a commit but
>> there are still tasks which have handle to it and are adding new metadata
>> buffers to it. So this transaction is effectively still running and we
>> cannot start a next transaction because then we'd have two running
>> transactions and the journalling logic isn't able to handle that.
>
> This is also why we try to avoid staying in LOCKED state for very
> long.... and why increasing the journal size can help performance
> (since if we get ourselves into trouble where are forced to do a
> journal checkpoint, we can end up stalling all file system updates for
> a non-trivial amount of time).
>
> So changes that increase the amount of time that we spend in LOCKED
> are going to be really bad, especially if you have one thread which is
> frequently calling fsync() (for example, like Firefox, which can be
> *very* fsync() happy) and another thread which is doing lots of file
> creates and deletes. Each fsync() will force a transaction commit,
> and if you have to stop all transaction updates while the delayed
> allocation blocks are getting resolved, life can really get bad.
Okay. It seems that there is no easy way to solve this. Probably, the
personality flag based solution is more appropriate.
Still, as we need this mode of operation for our further analysis, for
now we will go with the same design to implement alloc_on_commit and
see how can we optimize it and how much negative impact it has. Will
update you on this.
Thank you very much for the help.
Regards,
Kailas
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2010-02-17 15:37 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-04 5:45 Help on Implementation of EXT3 type Ordered Mode in EXT4 Kailas Joshi
2010-02-09 16:05 ` Jan Kara
2010-02-09 17:41 ` tytso
[not found] ` <38f6fb7d1002102301x278c3ddt153f570dd1423074@mail.gmail.com>
2010-02-11 7:32 ` Kailas Joshi
2010-02-11 19:56 ` tytso
2010-02-12 3:22 ` Kailas Joshi
2010-02-12 20:07 ` tytso
2010-02-13 8:43 ` Kailas Joshi
2010-02-15 15:00 ` Jan Kara
2010-02-16 10:10 ` Kailas Joshi
2010-02-16 13:10 ` Jan Kara
2010-02-16 14:18 ` tytso
2010-02-17 15:37 ` Kailas Joshi [this message]
[not found] ` <38f6fb7d1003182023j5513640csdc797adb49393ea0@mail.gmail.com>
2010-03-22 16:52 ` Jan Kara
2010-03-23 10:41 ` Kailas Joshi
2010-03-29 15:45 ` Jan Kara
2010-04-17 4:42 ` Kailas Joshi
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=38f6fb7d1002170737l1e9e3b72ub08e106283c26501@mail.gmail.com \
--to=kailas.joshi@gmail.com \
--cc=jack@suse.cz \
--cc=jiayingz@google.com \
--cc=linux-ext4@vger.kernel.org \
--cc=tytso@mit.edu \
/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).