From: Theodore Ts'o <tytso@mit.edu>
To: Dmitry Monakhov <dmonlist@gmail.com>
Cc: Ext4 Developers List <linux-ext4@vger.kernel.org>
Subject: Re: [PATCH,RFC] ext4: add lazytime mount option
Date: Thu, 13 Nov 2014 11:07:10 -0500 [thread overview]
Message-ID: <20141113160710.GE5235@thunk.org> (raw)
In-Reply-To: <87vbmkpm2p.fsf@openvz.org>
On Wed, Nov 12, 2014 at 04:47:42PM +0300, Dmitry Monakhov wrote:
> Also sync mtime updates is a great pain for AIO submitter
> because AIO submission may be blocked for a seconds (up to 5 second in my case)
> if inode is part of current committing transaction see: do_get_write_access
5 seconds?!? So you're seeing cases where the jbd2 layer is taking
that long to close a commit? It might be worth looking at that so we
can understand why that is happening, and to see if there's anything
we might do to improve things on that front. Even if we can get rid
of most of the mtime updates, there will be other cases where a commit
that takes a long time to complete will cause all sorts of other very
nasty latencies on the entire system.
> Yeah we also has ticket for that :)
> https://jira.sw.ru/browse/PSBM-20411
Is this supposed to be a URL to publically visible web page?
Host jira.sw.ru not found: 3(NXDOMAIN)
> > + if (flags & S_VERSION)
> > + inode_inc_iversion(inode);
....
> Since we want update all in-memory data we also have to explicitly update inode->i_version
> Which was previously updated implicitly here:
> mark_inode_dirty_sync()
> ->__mark_inode_dirty
> ->ext4_dirty_inode
> ->ext4_mark_inode_dirty
> ->ext4_mark_iloc_dirty
> ->inode_inc_iversion(inode);
It's not necessary to add a anothre call to inode_inc_version() since
we already incremented the i_version if S_VERSION is set, and
S_VERSIOn gets set when it's necessary to handle incrementing
i_Version.
The inode_inc_iversion() in mark4_ext4_iloc_dirty() is probably not
necessary, since we already should be incrementing i_version whenever
ctime and mtime gets updated. The inode_inc_iversion() there is more
of a "belt and suspenders" safety thing, on the theory that the extra
bump in i_version won't hurt anything.
Cheers,
- Ted
next prev parent reply other threads:[~2014-11-13 16:07 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-12 4:07 [PATCH,RFC] ext4: add lazytime mount option Theodore Ts'o
2014-11-12 13:47 ` Dmitry Monakhov
2014-11-13 16:07 ` Theodore Ts'o [this message]
2014-11-14 11:34 ` Dmitry Monakhov
2014-11-14 11:35 ` Dmitry Monakhov
2014-11-13 6:41 ` Dave Chinner
2014-11-13 8:44 ` Boaz Harrosh
2014-11-13 16:35 ` Theodore Ts'o
2014-11-13 20:48 ` Dave Chinner
2014-11-13 21:34 ` Theodore Ts'o
2014-11-13 22:49 ` Dave Chinner
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=20141113160710.GE5235@thunk.org \
--to=tytso@mit.edu \
--cc=dmonlist@gmail.com \
--cc=linux-ext4@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).