Re: [RFC tip/locking/lockdep v5 05/17] lockdep: Extend __bfs() to work with multiple kinds of dependencies

From: Peter Zijlstra
Date: Fri Feb 23 2018 - 06:15:13 EST


On Fri, Feb 23, 2018 at 01:02:09PM +0800, Boqun Feng wrote:
> > entry->have_xr = !(has_nn(entry->dep) || (!is_rr && has_rn(entry->dep)));
> > := !has_nn(entry->dep) && (is_rr || !has_rn(entry->dep))
> >
>
> so it seems that we have to introduce is_{nn,rn,nx}(), I'm not sure
> introducing three one-off helpers is a good direction to go. One benefit
> of using pick_dep() is that we can keep the whole logic in one function.
> Thoughts?

Urgh, I see...

Damn this is confusing, I'm sure there's something simple we're missing.
Let me go stare at the earlier patches again.