Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031170AbcCQW4l (ORCPT ); Thu, 17 Mar 2016 18:56:41 -0400 Received: from e38.co.us.ibm.com ([32.97.110.159]:35965 "EHLO e38.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751356AbcCQW4d (ORCPT ); Thu, 17 Mar 2016 18:56:33 -0400 X-IBM-Helo: d03dlp03.boulder.ibm.com X-IBM-MailFrom: paulmck@linux.vnet.ibm.com X-IBM-RcptTo: linux-kernel@vger.kernel.org Date: Thu, 17 Mar 2016 15:55:57 -0700 From: "Paul E. McKenney" To: Peter Zijlstra Cc: Chris Metcalf , Russell King , Thomas Gleixner , Aaron Tomlin , Ingo Molnar , Andrew Morton , Daniel Thompson , x86@kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 1/4] nmi_backtrace: add more trigger_*_cpu_backtrace() methods Message-ID: <20160317225557.GA4287@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <1458147733-29338-1-git-send-email-cmetcalf@mellanox.com> <1458147733-29338-2-git-send-email-cmetcalf@mellanox.com> <20160317193600.GY6344@twins.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160317193600.GY6344@twins.programming.kicks-ass.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16031722-0029-0000-0000-000012122532 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1335 Lines: 28 On Thu, Mar 17, 2016 at 08:36:00PM +0100, Peter Zijlstra wrote: > On Wed, Mar 16, 2016 at 01:02:10PM -0400, Chris Metcalf wrote: > > Currently you can only request a backtrace of either all cpus, or > > all cpus but yourself. It can also be helpful to request a remote > > backtrace of a single cpu, and since we want that, the logical > > extension is to support a cpumask as the underlying primitive. > > > > This change modifies the existing lib/nmi_backtrace.c code to take > > a cpumask as its basic primitive, and modifies the linux/nmi.h code > > to use either the old "all/all_but_self" arch methods, or the new > > "cpumask" method, depending on which is available. > > > > The existing clients of nmi_backtrace (arm and x86) are converted > > to using the new cpumask approach in this change. > > So the past days I've been staring at RCU stall warns, and they can use > a little of this. Their remote stack unwinds are less than useful. The RCU stall-warn stack traces can be ugly, agreed. That said, RCU used to use NMI-based stack traces, but switched to the current scheme due to the NMIs having the unfortunate habit of locking things up, which IIRC often meant no stack traces at all. If I recall correctly, one of the problems was self-deadlock in printk(). Have these problems been fixed? Thanx, Paul