Messages in this thread | | | Date | Thu, 31 Aug 2017 17:15:01 +0900 | From | Byungchul Park <> | Subject | Re: [PATCH 4/4] lockdep: Fix workqueue crossrelease annotation |
| |
On Thu, Aug 31, 2017 at 10:04:42AM +0200, Peter Zijlstra wrote: > On Wed, Aug 30, 2017 at 08:25:46PM +0900, Byungchul Park wrote: > > > For example - I'm giving you the same example repeatedly: > > > > context X context Y > > --------- --------- > > wait_for_completion(C) > > acquire(A) > > process_one_work() > > acquire(B) > > work->fn() > > complete(C) > > > > Please check C->A and C->B. > > Is there a caller of procesS_one_work() that holds a lock?
It's not important. Ok, check the following, instead:
context X context Y --------- --------- wait_for_completion(C) acquire(A) release(A) process_one_work() acquire(B) release(B) work->fn() complete(C)
We don't need to lose C->A and C->B dependencies unnecessarily.
| |