Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932716AbdHYNeu (ORCPT ); Fri, 25 Aug 2017 09:34:50 -0400 Received: from mail-qt0-f169.google.com ([209.85.216.169]:35330 "EHLO mail-qt0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932319AbdHYNes (ORCPT ); Fri, 25 Aug 2017 09:34:48 -0400 Date: Fri, 25 Aug 2017 06:34:43 -0700 From: Tejun Heo To: Byungchul Park Cc: johannes.berg@intel.com, peterz@infradead.org, mingo@kernel.org, tglx@linutronix.de, linux-kernel@vger.kernel.org, kernel-team@lge.com Subject: Re: [RFC] workqueue: remove manual lockdep uses to detect deadlocks Message-ID: <20170825133442.GU491396@devbig577.frc2.facebook.com> References: <1503650463-14582-1-git-send-email-byungchul.park@lge.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1503650463-14582-1-git-send-email-byungchul.park@lge.com> 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: 1182 Lines: 32 On Fri, Aug 25, 2017 at 05:41:03PM +0900, Byungchul Park wrote: > Hello all, > > This is _RFC_. > > I want to request for comments about if it's reasonable conceptually. If > yes, I want to resend after working it more carefully. > > Could you let me know your opinions about this? > > ----->8----- > From 448360c343477fff63df766544eec4620657a59e Mon Sep 17 00:00:00 2001 > From: Byungchul Park > Date: Fri, 25 Aug 2017 17:35:07 +0900 > Subject: [RFC] workqueue: remove manual lockdep uses to detect deadlocks > > We introduced the following commit to detect deadlocks caused by > wait_for_completion() in flush_{workqueue, work}() and other locks. But > now LOCKDEP_COMPLETIONS is introduced, such works are automatically done > by LOCKDEP_COMPLETIONS. So it doesn't have to be done manually anymore. > Removed it. I'm not following lockdep development, so can't really comment but if you're saying that wq can retain the same level of protection while not having explicit annotations, conceptually, it's of course great. However, how would it distinguish things like flushing another work item on a workqueue w/ max_active of 1? Thanks. -- tejun