All of lore.kernel.org
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Andreas Dilger <adilger@dilger.ca>
Cc: Theodore Ts'o <tytso@mit.edu>,
	"linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>
Subject: Re: [PATCH] ext4: turn on i_version updates by default
Date: Tue, 15 May 2012 13:33:40 -0400	[thread overview]
Message-ID: <20120515173340.GA10064@fieldses.org> (raw)
In-Reply-To: <14B38D68-FAE4-444A-BCD9-7EBF7E1BBFE1@dilger.ca>

On Mon, May 14, 2012 at 11:27:42AM -0600, Andreas Dilger wrote:
> On 2012-05-14, at 9:23 AM, J. Bruce Fields wrote:
> > On Mon, May 14, 2012 at 09:02:12AM -0600, Andreas Dilger wrote:
> >> On 2012-05-14, at 8:06, "J. Bruce Fields" <bfields@fieldses.org> wrote:
> >>> knfsd needs i_version updates on, as will userspace nfs servers and
> >>> probably others.
> >>> 
> >>> The only effects are that inode->i_version is bumped (under the i_lock)
> >>> in more places, and that ->dirty_inode(I_DIRTY_DATASYNC) may be called
> >>> more frequently than once per jiffy on write (see file_update_time).
> >>> However the latter appears to be mostly a no-op in that case.
> >> 
> >> I thought this can have noticeable performance impact, since ext4_mark_inode_dirty() is quite heavyweight?
> > 
> > There's no reason it should be, should it, if we already just dirtied
> > the inode a moment ago?
> 
> Ideally not, but the way ext[34]_mark_inode_dirty() is implemented
> is that it copies the whole in-core inode to the on-disk inode every
> time it is marked dirty.  That ensures that the on-disk inode is
> up-to-date when the journal flushes the blocks to disk, but is not
> an ideal implementation.  It has been this way since the first ext3
> implementation was done.
> 
> As a result, dirtying the inode very frequently for ext[34] is
> currently expensive and should be avoided.
> 
> I _think_ that the ext4 metadata checksum patches have changed this
> to only flag the inode dirty and run a pre-commit callback to copy
> the in-core inode to the on-disk inode.  I'm not sure what the
> current status of that patch is, nor how easily it could be split
> from that patch series and land separately.

I did some searching, found a couple of versions of the metadata
checksum patches, but no patch that looked like what you're describing.
Any idea where that is?

--b.

  parent reply	other threads:[~2012-05-15 17:33 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-14 14:06 [PATCH] ext4: turn on i_version updates by default J. Bruce Fields
     [not found] ` <20120514140618.GA29902-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2012-05-14 15:02   ` Andreas Dilger
2012-05-14 15:02     ` Andreas Dilger
     [not found]     ` <9124E59E-2479-4C32-A528-3237B48DEC01-m1MBpc4rdrD3fQ9qLvQP4Q@public.gmane.org>
2012-05-14 15:23       ` J. Bruce Fields
2012-05-14 15:23         ` J. Bruce Fields
     [not found]         ` <20120514152334.GB29902-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2012-05-14 17:27           ` Andreas Dilger
2012-05-14 17:27             ` Andreas Dilger
     [not found]             ` <14B38D68-FAE4-444A-BCD9-7EBF7E1BBFE1-m1MBpc4rdrD3fQ9qLvQP4Q@public.gmane.org>
2012-05-14 17:58               ` Ted Ts'o
2012-05-14 17:58                 ` Ted Ts'o
     [not found]                 ` <20120514175822.GC1439-AKGzg7BKzIDYtjvyW6yDsg@public.gmane.org>
2012-05-14 18:33                   ` Josef Bacik
2012-05-14 18:33                     ` Josef Bacik
     [not found]                     ` <20120514183316.GA1894-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2012-05-14 18:48                       ` Jeff Layton
2012-05-14 18:48                         ` Jeff Layton
     [not found]                         ` <20120514144802.679551fa-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2012-05-14 18:51                           ` Josef Bacik
2012-05-14 18:51                             ` Josef Bacik
2012-05-14 18:54                       ` J. Bruce Fields
2012-05-14 18:54                         ` J. Bruce Fields
2012-05-14 19:05                         ` Josef Bacik
     [not found]                           ` <20120514190500.GC1894-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2012-05-14 21:27                             ` Andreas Dilger
2012-05-14 21:27                               ` Andreas Dilger
2012-05-15 13:28                               ` Josef Bacik
2012-05-15 17:59                                 ` Marco Stornelli
2012-05-15 19:18                                   ` J. Bruce Fields
2012-05-15 17:33             ` J. Bruce Fields [this message]
2012-05-15 18:50               ` djwong
2012-05-14 23:08     ` Myklebust, Trond
2012-05-14 23:08       ` Myklebust, Trond
     [not found]       ` <1337036918.2522.32.camel-SyLVLa/KEI9HwK5hSS5vWB2eb7JE58TQ@public.gmane.org>
2012-05-14 23:33         ` Andreas Dilger
2012-05-14 23:33           ` Andreas Dilger
2012-05-14 23:54           ` J. Bruce Fields
     [not found]             ` <20120514235432.GA3199-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2012-05-15 10:30               ` Jan Kara
2012-05-15 10:30                 ` Jan Kara
2012-05-15 12:35                 ` J. Bruce Fields
2012-05-15 14:43                   ` Jan Kara
2012-05-15  0:13           ` Myklebust, Trond
2012-05-15  0:13             ` Myklebust, Trond

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=20120515173340.GA10064@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=adilger@dilger.ca \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-nfs@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.