[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANrsvRMqUVtWM4T7XKB8rov+Rww=3yxHEhknGqhMP-Ci42zHQw@mail.gmail.com>
Date: Wed, 30 Aug 2017 21:49:36 +0900
From: Byungchul Park <max.byungchul.park@...il.com>
To: Byungchul Park <byungchul.park@....com>
Cc: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>, Tejun Heo <tj@...nel.org>,
Boqun Feng <boqun.feng@...il.com>, david@...morbit.com,
Johannes Berg <johannes@...solutions.net>, oleg@...hat.com,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
kernel-team@....com
Subject: Re: [PATCH 4/4] lockdep: Fix workqueue crossrelease annotation
On Wed, Aug 30, 2017 at 8:25 PM, Byungchul Park <byungchul.park@....com> wrote:
> On Wed, Aug 30, 2017 at 06:24:39PM +0900, Byungchul Park wrote:
>> > -----Original Message-----
>> > From: Peter Zijlstra [mailto:peterz@...radead.org]
>> > Sent: Wednesday, August 30, 2017 6:12 PM
>> > To: Byungchul Park
>> > Cc: mingo@...nel.org; tj@...nel.org; boqun.feng@...il.com;
>> > david@...morbit.com; johannes@...solutions.net; oleg@...hat.com; linux-
>> > kernel@...r.kernel.org; kernel-team@....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.
s/check/let lockdep check/
--
Thanks,
Byungchul
Powered by blists - more mailing lists