Re: v4.2-rc dcache regression, probably 75a6f82a0d10

Hugh Dickins
2015-08-01T00:10:20Z

On Fri, 31 Jul 2015, Dominique Martinet wrote:
> Hugh Dickins wrote on Fri, Jul 31, 2015:
> > It will indeed be weird and odd if it confirms that DCACHE_DISCONNECTED
> > revert is good. I agree that Dominique's 4bf46a272647 seems now more
> > likely, if still unlikely; but that was included in v4.1, and I saw
> > no problem with v4.1 once the rmap_walk() skip was fixed.
>
> I think it could, actually, and that neither commits are actually bad --
> just that they affect timing enough to raise an issue between d_delete
> (I guess?) and link_path_walk (see last mail in other thread[1])
>
> It's probably an old race that was very hard to hit because of cache
> coherency.
> Basically, before the wmb/rmb, the dentry was always updated closely to
> its flags, so the other CPU would "usually" get both updates at the same
> time; the barriers make it so the updates are split and it's possible to
> get it, and would explain why I could pick 4bf46a2726 as "the one"
>
>
> I'm not sure why the problem wouldn't arise on tmpfs though.
>
> Hugh, could you try the reproducer I gave in the other thread[2] on both
> filesystems maybe?

Sorry, I probably won't get around to that, to be honest:
it shouldn't need me to run it anyway.

> I need to let the thing run for a while, might need to tune params as
> well. I was trying to fine tune cpu affinity with less threads but it's
> not getting anywhere.
>
> I'll also check if it's getting even easier to reproduce with
> 75a6f82a0d10 (or a recent kernel), who knows... How fast do you hit the
> bug with the commit?

"A number of hours". I don't have my records in front of me at the
moment, but I think when I was lucky it happened within two hours,
but more commonly around ten or twelve hours.

I just leave it going and get on with other things: yours may be a
_much_ better reproducer. Though once there's a potential fix, we shall
both need to try it, to report back if our separate cases are fixed.

Hugh

>
>
> Thanks,
> --
> Dominique
>
> [1] https://marc.info/?l=linux-fsdevel&m=143835651005259&w=2
> [2] https://marc.info/?l=linux-fsdevel&m=143825706609188&w=2