Re: [RESEND PATCH v2 2/2] lockdep: Remove unnecessary acquisitions wrt workqueue flush

From: Byungchul Park
Date: Fri Oct 13 2017 - 04:48:42 EST


On Fri, Oct 13, 2017 at 10:27:50AM +0200, Peter Zijlstra wrote:
> On Fri, Oct 13, 2017 at 04:56:33PM +0900, Byungchul Park wrote:
> > On Thu, Oct 12, 2017 at 05:56:35PM +0200, Peter Zijlstra wrote:
> > > On Thu, Oct 12, 2017 at 08:38:17AM -0700, Tejun Heo wrote:
> > > >
> > > > As long as we have the same level of protection, simpler code is of
> > > > course preferable. That said, I haven't followed the discussion
> > > > closely and don't want to apply it without Peter's ack. Peter?
> > >
> > > I'm really tied up atm; and feel we should be addressing the false
> > > positives generated by the current code before we start doing new stuff
> > > on top.
> >
> > We can never avoid adding false dependencies as long as we use
> > acquisitions in that way the workqueue code does, even though you
> > successfully replace write acquisitions with recursive-read ones after
> > making them work, as you know.
>
> Not the point; they still need to get annotated away. The block layer
> and xfs are now fairly consistently triggering lockdep splats, that
> needs to get sorted.

I'm not sure if I can help, since I'm not familiar with that sub-systems,
but I want to do something for them if I can.

Could you share the issues and test cases? Or I suggest that don't wait
for recursive-read work to complete but use 'might' thing to avoid the
false annotations.

I don't say it to rush you to take my patches, but I do beacuse it does
exactly what we need in that case. I believe it would be helpful.