Re: dcache shrink list corruption?

From: Al Viro
Date: Fri May 02 2014 - 18:40:29 EST


On Fri, May 02, 2014 at 02:18:43PM -0700, Linus Torvalds wrote:
> On Fri, May 2, 2014 at 2:08 PM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
> > There's more of the "delete from shrink list not owned by us" in select parent.
> > Proposed patch appended.
>
> Ahh. Clearly this needs more work before I pull.

*nod*

Besides, I want to put Miklos' "don't bother with RCU in shrink_dentry_list()"
in there as soon as select_collect() has been dealt with. I don't think
that the currently posted patch for select_collect() is right, though -
see my reply to parent posting. Basically, I think we should treat "it's
on the shrink list already" as "increment data->found and keep going". IOW,
if (on shrink list) {
data->found++;
} else {
if (on lru list)
d_lru_del
if (refcount is zero) {
d_shrink_add
data->found++;
}
}
if (data->found)
ret = need_resched() ? D_WALK_QUIT : D_WALK_NORETRY;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/