Messages in this thread | | | Date | Wed, 30 Aug 2017 20:25:46 +0900 | From | Byungchul Park <> | Subject | Re: [PATCH 4/4] lockdep: Fix workqueue crossrelease annotation |
| |
On Wed, Aug 30, 2017 at 06:24:39PM +0900, Byungchul Park wrote: > > -----Original Message----- > > From: Peter Zijlstra [mailto:peterz@infradead.org] > > Sent: Wednesday, August 30, 2017 6:12 PM > > To: Byungchul Park > > Cc: mingo@kernel.org; tj@kernel.org; boqun.feng@gmail.com; > > david@fromorbit.com; johannes@sipsolutions.net; oleg@redhat.com; linux- > > kernel@vger.kernel.org; kernel-team@lge.com > > Subject: Re: [PATCH 4/4] lockdep: Fix workqueue crossrelease annotation > > > > On Wed, Aug 30, 2017 at 06:01:59PM +0900, Byungchul Park wrote: > > > My point is that we inevitably lose valuable dependencies by yours. > > That's > > > why I've endlessly asked you 'do you have any reason you try those > > patches?' > > > a ton of times. And you have never answered it. > > > > The only dependencies that are lost are those between the first work and > > the setup of the workqueue thread. > > > > And there obviously _should_ not be any dependencies between those. A > > 100% right. Since there obviously should not be any, it would be better > to check them. So I've endlessly asked you 'do you have any reason removing > the opportunity for that check?'. Overhead? Logical problem? Or want to > believe workqueue setup code perfect forever? I mean, is it a problem if we > check them? > > > work should not depend on the setup of the thread. > > 100% right.
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.
| |