All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: viro@ZenIV.linux.org.uk, linux-fsdevel@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/4] fs: Lock the inode LRU list separately
Date: Thu, 28 Oct 2010 21:58:22 +1100	[thread overview]
Message-ID: <20101028105822.GD2715@dastard> (raw)
In-Reply-To: <20101028102521.GA6141@infradead.org>

On Thu, Oct 28, 2010 at 06:25:21AM -0400, Christoph Hellwig wrote:
> > That doesn't happen because the counter is only modified when
> > the inode is moved on/off the list and there are checks to avoid
> > removing an inode that is not on the list. Also, the inode is not
> > removed from the LRU in dispose_one_inode - it is always done when
> > the inode is marked I_FREEING while the i_lock is held before
> > calling dispose_one_inode().
> > 
> > Basically I wanted to remove the strange "inode is not on the LRU if
> > it is dirty or under writeback" accounting checks and make the
> > accounting symmetric with adding/removing the inodes from the LRU.
> > These are protected by list_empty() checks, so should always end up
> > with the correct accounting.
> > 
> > hence the only special case now is prune_icache() which already
> > holds the inode_lru_lock() so can't call the helper. Besides, we
> > don't need any checks there because we know the inode is on the LRU
> > already....
> 
> Indeed.  What about adding a
> 
> 	BUG_ON(!list_empty(&inode->i_lru));
> 
> to evict to ensure this invariant?

Yup, sounds like a good idea.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

  reply	other threads:[~2010-10-28 10:58 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-27  4:23 fs: break out inode LRU operations from node_lock Dave Chinner
2010-10-27  4:23 ` [PATCH 1/4] fs: protect inode->i_state with inode->i_lock Dave Chinner
2010-10-27  7:07   ` Christian Stroetmann
2010-10-27  8:58   ` Christoph Hellwig
2010-10-27  4:23 ` [PATCH 2/4] fs: factor inode disposal Dave Chinner
2010-10-27  7:55   ` Christoph Hellwig
2010-10-27  9:06   ` Christoph Hellwig
2010-10-27  4:23 ` [PATCH 3/4] fs: Lock the inode LRU list separately Dave Chinner
2010-10-27  7:08   ` Christian Stroetmann
2010-10-27  9:05   ` Christoph Hellwig
2010-10-27 22:24     ` Dave Chinner
2010-10-28 10:25       ` Christoph Hellwig
2010-10-28 10:58         ` Dave Chinner [this message]
2010-10-27  4:23 ` [PATCH 4/4] fs: remove inode_lock from iput_final and prune_icache Dave Chinner
2010-10-27  4:40   ` Al Viro
2010-10-27  4:47     ` Eric Dumazet
2010-10-27  4:47       ` Eric Dumazet
2010-10-27  5:25       ` Al Viro
2010-10-27  5:50         ` Eric Dumazet
2010-10-27  5:50           ` Eric Dumazet
2010-10-27  6:01           ` Al Viro
2010-10-27  6:09           ` Davidlohr Bueso
2010-10-27  7:11           ` Christian Stroetmann
2010-10-27  9:12     ` Dave Chinner
2010-10-27  9:12       ` Dave Chinner
  -- strict thread matches above, loose matches on Subject: below --
2010-10-27 23:02 fs: break out inode LRU operations from inode_lock V2 Dave Chinner
2010-10-27 23:02 ` [PATCH 3/4] fs: Lock the inode LRU list separately 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=20101028105822.GD2715@dastard \
    --to=david@fromorbit.com \
    --cc=hch@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=viro@ZenIV.linux.org.uk \
    /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.