lkml.org 
[lkml]   [2017]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4/4] lockdep: Fix workqueue crossrelease annotation
On Tue, Sep 05, 2017 at 12:52:36PM +0200, Peter Zijlstra wrote:
> On Tue, Sep 05, 2017 at 07:31:44PM +0900, Byungchul Park wrote:
> > Let me show you a possible scenario with a leaf lock:
> >
> > lock(A)
> > lock(A) wait_for_completion(B)
> > unlock(A) ...
> > ... unlock(A)
> > process_one_work()
> > work->func()
> > complete(B)
> >
> > It's a deadlock by a lead lock A and completion B.
>
> By having wait_for_completion() in it, A is not a leaf lock.

I see. After all, you want to force to use only leaf locks in (1), (3)
and (5) forever in future. I really don't understand why you want to
force it and use them carefully always in head, *only* for that locks,
though original code even makes it unnecessary.

But ok...

Let's discuss the issue later if necessary.

Again, I think your patches are worth nothing but avoiding the
workqueue issue. I really hope you think it more, but it's ok if you
don't want...

\
 
 \ /
  Last update: 2017-09-05 13:25    [W:0.139 / U:6.160 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site