From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751976AbdIUN6A (ORCPT ); Thu, 21 Sep 2017 09:58:00 -0400 Received: from bombadil.infradead.org ([65.50.211.133]:48476 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751629AbdIUN56 (ORCPT ); Thu, 21 Sep 2017 09:57:58 -0400 Date: Thu, 21 Sep 2017 15:57:49 +0200 From: Peter Zijlstra To: "Paul E. McKenney" Cc: Steven Rostedt , Neeraj Upadhyay , josh@joshtriplett.org, mathieu.desnoyers@efficios.com, jiangshanlai@gmail.com, linux-kernel@vger.kernel.org, sramana@codeaurora.org, prsood@codeaurora.org, pkondeti@codeaurora.org, markivx@codeaurora.org Subject: Re: Query regarding synchronize_sched_expedited and resched_cpu Message-ID: <20170921135749.i35iq6hlxys3eb7k@hirez.programming.kicks-ass.net> References: <8f33e48e-ac6d-2c88-e16f-20b698c06292@codeaurora.org> <20170917010015.GW3521@linux.vnet.ibm.com> <20170918111105.15f687da@gandalf.local.home> <20170918160125.GL3521@linux.vnet.ibm.com> <20170918121213.312c82b0@gandalf.local.home> <20170918162412.GM3521@linux.vnet.ibm.com> <20170918122931.0e3341f3@gandalf.local.home> <20170918165527.GN3521@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170918165527.GN3521@linux.vnet.ibm.com> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 18, 2017 at 09:55:27AM -0700, Paul E. McKenney wrote: > On Mon, Sep 18, 2017 at 12:29:31PM -0400, Steven Rostedt wrote: > > On Mon, 18 Sep 2017 09:24:12 -0700 > > "Paul E. McKenney" wrote: > > > > > > > As soon as I work through the backlog of lockdep complaints that > > > appeared in the last merge window... :-( > > > > > > sparse_irq_lock, I am looking at you!!! ;-) That one is a false positive and I have send patches to address. > > I just hit one too, and decided to write a patch to show a chain of 3 > > when applicable. > > > > For example: > > > > Chain exists of: > > cpu_hotplug_lock.rw_sem --> smpboot_threads_lock --> (complete)&self->parked > > > > Possible unsafe locking scenario by crosslock: > > > > CPU0 CPU1 CPU2 > > ---- ---- ---- > > lock(smpboot_threads_lock); > > lock((complete)&self->parked); > > lock(cpu_hotplug_lock.rw_sem); > > lock(smpboot_threads_lock); > > lock(cpu_hotplug_lock.rw_sem); > > unlock((complete)&self->parked); > > > > *** DEADLOCK *** > > > > :-) > > Nice!!! That one looks like the watchdog thing, and Thomas was poking at that.