Re: [PATCH 05/18] fs: inode split IO and LRU lists

Dave Chinner
2010-10-08T09:59:03Z

On Fri, Oct 08, 2010 at 10:16:17AM +0100, Al Viro wrote:
> > - struct list_head i_list; /* backing dev IO list */
> > + struct list_head i_io; /* backing dev IO list */
> > + struct list_head i_lru; /* backing dev IO list */
>
> a) that pair of comments would be disqualified in IOCCC ;-)

Oops.

> b) have a pity on folks who will have to talk about the code. I mean,
> how would you say that? Ai-Ai-Oh?

Fair call. How about i_wb_list?

> > +extern struct percpu_counter nr_inodes;
> > +extern struct percpu_counter nr_inodes_unused;
>
> Ehh... At least take that to fs/internal.h. Preferably don't expose at
> all.

That get's cleaned up later with helpers. As Christoph suggested, I need
to move the helpers forward in the series.

>
> > - list_del(&inode->i_list);
> > - list_add(&inode->i_list, &bdi->wb.b_dirty);
> > + list_del(&inode->i_io);
> > + list_add(&inode->i_io, &bdi->wb.b_dirty);
>
> list_move()? Ditto for the next few. And, while that's not directed
> at you, this kind of loops is Not Nice(tm)...

Not a great fan of them myself, but Christoph pointed out that the
inode <-> bdi fix of his that just landed in mainline should remove
the need for these loops.

Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com