Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751536AbdH3Mun (ORCPT ); Wed, 30 Aug 2017 08:50:43 -0400 Received: from mail-lf0-f65.google.com ([209.85.215.65]:33388 "EHLO mail-lf0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751417AbdH3Mti (ORCPT ); Wed, 30 Aug 2017 08:49:38 -0400 MIME-Version: 1.0 In-Reply-To: <20170830112546.GH3240@X58A-UD3R> References: <20170824021840.GC6772@X58A-UD3R> <20170824140240.t4imrpvussebfimm@hirez.programming.kicks-ass.net> <20170825011114.GA3858@X58A-UD3R> <20170829085939.ggmb6xiohw67micb@hirez.programming.kicks-ass.net> <20170830020953.GE3240@X58A-UD3R> <20170830074117.GG3240@X58A-UD3R> <20170830085333.GM32112@worktop.programming.kicks-ass.net> <004601d3216e$a3702030$ea506090$@lge.com> <20170830091223.xxnh3podtcumlabm@hirez.programming.kicks-ass.net> <004701d32171$ce57d4c0$6b077e40$@lge.com> <20170830112546.GH3240@X58A-UD3R> From: Byungchul Park Date: Wed, 30 Aug 2017 21:49:36 +0900 Message-ID: Subject: Re: [PATCH 4/4] lockdep: Fix workqueue crossrelease annotation To: Byungchul Park Cc: Peter Zijlstra , Ingo Molnar , Tejun Heo , Boqun Feng , david@fromorbit.com, Johannes Berg , oleg@redhat.com, "linux-kernel@vger.kernel.org" , kernel-team@lge.com Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1843 Lines: 52 On Wed, Aug 30, 2017 at 8:25 PM, Byungchul Park wrote: > 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. s/check/let lockdep check/ -- Thanks, Byungchul