Re: [PATCH 4/4] lockdep: Fix workqueue crossrelease annotation

From: Peter Zijlstra
Date: Thu Aug 31 2017 - 04:35:05 EST


On Thu, Aug 31, 2017 at 05:15:01PM +0900, Byungchul Park wrote:
> 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.

I really can't be arsed about them. Its really only the first few works
that will retain that dependency anyway, even if you were to retain
them.

All of that is contained in kernel/kthread and kernel/workqueue and can
be audited if needed. Its a very limited amount of code.