Re: [PATCH 04/18] fs: Implement lazy LRU updates for inodes.

Dave Chinner
2010-10-08T09:51:48Z

On Fri, Oct 08, 2010 at 10:08:02AM +0100, Al Viro wrote:
> On Fri, Oct 08, 2010 at 04:21:18PM +1100, Dave Chinner wrote:
>
> > void __iget(struct inode *inode)
> > {
> > - if (atomic_inc_return(&inode->i_count) != 1)
> > - return;
> > -
> > - if (!(inode->i_state & (I_DIRTY|I_SYNC)))
> > - list_move(&inode->i_list, &inode_in_use);
> > - percpu_counter_dec(&nr_inodes_unused);
> > + atomic_inc(&inode->i_count);
> > }
>
> Umm... Are you sure we don't rely on implict barriers present in the current
> version?

I'll confess that I have no idea what you are talking about, Al.

Instead, I'll ask if the conversion later one where all accesses and
modifications to the reference count are moved under the
inode->i_lock is sufficient to provide the necessary memory
barriers?

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com