Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752739AbaKDXFQ (ORCPT ); Tue, 4 Nov 2014 18:05:16 -0500 Received: from cantor2.suse.de ([195.135.220.15]:35296 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752575AbaKDXFO (ORCPT ); Tue, 4 Nov 2014 18:05:14 -0500 Date: Wed, 5 Nov 2014 00:05:12 +0100 (CET) From: Jiri Kosina To: Steven Rostedt cc: linux-kernel@vger.kernel.org, Ingo Molnar , Andrew Morton , Petr Mladek , "H. Peter Anvin" , Thomas Gleixner , "Paul E. McKenney" Subject: Re: [RFC][PATCH 12/12 v3] x86/nmi: Perform a safe NMI stack trace on all CPUs In-Reply-To: <20141104160223.310714394@goodmis.org> Message-ID: References: <20141104155237.228431433@goodmis.org> <20141104160223.310714394@goodmis.org> User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 4 Nov 2014, Steven Rostedt wrote: > From: "Steven Rostedt (Red Hat)" > > When trigger_all_cpu_backtrace() is called on x86, it will trigger an > NMI on each CPU and call show_regs(). But this can lead to a hard lock > up if the NMI comes in on another printk(). > > In order to avoid this, when the NMI triggers, it switches the printk > routine for that CPU to call a NMI safe printk function that records the > printk in a per_cpu seq_buf descriptor. After all NMIs have finished > recording its data, the trace_seqs are printed in a safe context. > > Link: http://lkml.kernel.org/p/20140619213952.360076309@goodmis.org > > Acked-by: Paul E. McKenney > Signed-off-by: Steven Rostedt I've been running the whole machinery that used to trigger very quickly the complete hardlock of the machine (*) for the whole evening/night, and it's still running flawlessly. Plus, as I said previously, I agree with the whole idea (given the general nastiness of the problem and given the fact this simply has to be fixed without pointless delays). I.e FWIW Tested-by: Jiri Kosina Acked-by: Jiri Kosina for the whole series. (*) heavy printk() workload (**) + sysrq-l in parallel (**) iptables logging every incoming packet + flood ping from another machine Thanks, -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/