Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752660AbdIGAMH (ORCPT ); Wed, 6 Sep 2017 20:12:07 -0400 Received: from LGEAMRELO13.lge.com ([156.147.23.53]:44459 "EHLO lgeamrelo13.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751369AbdIGAMG (ORCPT ); Wed, 6 Sep 2017 20:12:06 -0400 X-Original-SENDERIP: 156.147.1.126 X-Original-MAILFROM: byungchul.park@lge.com X-Original-SENDERIP: 10.177.222.33 X-Original-MAILFROM: byungchul.park@lge.com Date: Thu, 7 Sep 2017 09:11:55 +0900 From: Byungchul Park To: Boqun Feng , peterz@infradead.org Cc: Peter Zijlstra , Byungchul Park , Ingo Molnar , Tejun Heo , david@fromorbit.com, Johannes Berg , oleg@redhat.com, "linux-kernel@vger.kernel.org" , kernel-team@lge.com Subject: Re: [PATCH 4/4] lockdep: Fix workqueue crossrelease annotation Message-ID: <20170907001155.GD3240@X58A-UD3R> References: <20170905070825.tovfkqvxpwosh5oa@hirez.programming.kicks-ass.net> <20170905071930.h6t2f4guvmswibnv@hirez.programming.kicks-ass.net> <20170905085727.GV3240@X58A-UD3R> <20170905093624.zlwhvg32ahkpnamk@hirez.programming.kicks-ass.net> <20170905103144.GW3240@X58A-UD3R> <20170905105838.GX3240@X58A-UD3R> <20170905134643.mbjjphn2obwkzpzx@hirez.programming.kicks-ass.net> <20170905235235.GZ3240@X58A-UD3R> <20170906004211.GT11771@tardis> <20170906013254.GB3240@X58A-UD3R> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170906013254.GB3240@X58A-UD3R> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1077 Lines: 25 On Wed, Sep 06, 2017 at 10:32:54AM +0900, Byungchul Park wrote: > > What do you mean by "false dependencies"? AFAICT, recursive-read could > > All locks used in every work->func() generate false dependencies with > 'work' and 'wq', while any flush works are not involved. It's inevitable. > > Moreover, it's also possible to generate more false ones between the > pseudo acquisitions, if real acquisitions are used for that speculative > purpose e.i. recursive-read here, which are anyway real ones. > > Moreover, it's also possible to generate more false ones between holding > locks and the pseudo ones, of course, the workqueue code is not the case > for now. > > Moreover, it's also possible to generate more false ones between the > pseudo ones and crosslocks on commit, once making crossrelease work even > for recursive-read things. Hi Peter, What do you think about the above? Just let me know please. It's ok if you think it's not needed yet. Or, if you think it's necessary from now on, I'm going ahead for that work, starting from renaming the 'might' thing.