From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752351AbdIFX7n (ORCPT ); Wed, 6 Sep 2017 19:59:43 -0400 Received: from LGEAMRELO12.lge.com ([156.147.23.52]:34740 "EHLO lgeamrelo12.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750914AbdIFX7m (ORCPT ); Wed, 6 Sep 2017 19:59:42 -0400 X-Original-SENDERIP: 156.147.1.121 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 08:59:33 +0900 From: Byungchul Park To: Boqun Feng 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: <20170906235933.GC3240@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 On Wed, Sep 06, 2017 at 10:32:54AM +0900, Byungchul Park wrote: > 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. Of course, this problem can be ignored if we *only* use recursive-read acquisitions for the speculative purpose, though current workqueue code uses both recursive-read and normal(write) for that. IOW, as long as we leave the write acquisions for that purpose, this would still be a problem.