Re: linux-next: manual merge of the akpm tree with Linus' tree

Al Viro
2013-09-13T20:18:07Z

On Fri, Sep 13, 2013 at 09:00:00PM +0100, Al Viro wrote:
> > - d_lru_shrink_move: move from the "global" lru list to a private shrinker list
> > - d_shrink_add/del: fairly obvious.
> >
> > And then "denty_lru_add/del" that actually take the current state into
> > account and do the right thing. Those we had before, I'm just
> > explaining the difference from the low-level operations that have
> > fixed "from this state to that" semantics
>
> Looks sane; FWIW, the variant I'm playing with uses two independent
> flags for "shrinker" and "per-sb", but AFAICS that doesn't yield better
> code.

Actually, it does yield slightly better code... Look - if you take your
patch and replace LRU_LIST | SHRINK_LIST combination with bare SHRINK_LIST
(which can't occur right now). Then all transitions turn into flipping
a single bit, check in dentry_lru_add() becomes if (!(flags & (SHRINK | LRU))
and dentry_lru_del() -- if (... & SHRINK) return ...; if (... & LRU) return ...

It can be done as a followup, anyway - better not mix that with fixes.