Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755131AbbLKW5a (ORCPT ); Fri, 11 Dec 2015 17:57:30 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:54539 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754947AbbLKW51 (ORCPT ); Fri, 11 Dec 2015 17:57:27 -0500 Date: Fri, 11 Dec 2015 14:57:25 -0800 From: Andrew Morton To: Petr Mladek Cc: Geert Uytterhoeven , Peter Zijlstra , Steven Rostedt , Russell King , Daniel Thompson , Jiri Kosina , Ingo Molnar , Thomas Gleixner , "linux-kernel@vger.kernel.org" , the arch/x86 maintainers , "linux-arm-kernel@lists.infradead.org" , "adi-buildroot-devel@lists.sourceforge.net" , Cris , Linux MIPS Mailing List , "linuxppc-dev@lists.ozlabs.org" , linux-s390 , Linux-sh list , sparclinux Subject: Re: [PATCH v3 4/4] printk/nmi: Increase the size of NMI buffer and make it configurable Message-Id: <20151211145725.b0e81bb4bb18fcd72ef5f557@linux-foundation.org> In-Reply-To: <20151211124159.GB3729@pathway.suse.cz> References: <1449667265-17525-1-git-send-email-pmladek@suse.com> <1449667265-17525-5-git-send-email-pmladek@suse.com> <20151211124159.GB3729@pathway.suse.cz> X-Mailer: Sylpheed 3.4.1 (GTK+ 2.24.23; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2355 Lines: 70 On Fri, 11 Dec 2015 13:41:59 +0100 Petr Mladek wrote: > On Fri 2015-12-11 12:10:02, Geert Uytterhoeven wrote: > > On Wed, Dec 9, 2015 at 2:21 PM, Petr Mladek wrote: > > > --- a/init/Kconfig > > > +++ b/init/Kconfig > > > @@ -866,6 +866,28 @@ config LOG_CPU_MAX_BUF_SHIFT > > > 13 => 8 KB for each CPU > > > 12 => 4 KB for each CPU > > > > > > +config NMI_LOG_BUF_SHIFT > > > + int "Temporary per-CPU NMI log buffer size (12 => 4KB, 13 => 8KB)" > > > + range 10 21 > > > + default 13 > > > + depends on PRINTK && HAVE_NMI > > > > Symbol NMI_LOG_BUF_SHIFT does not exist if its dependencies are not met. > > __h, the NMI buffer is enabled on arm via NEED_PRINTK_NMI. > > The buffer is compiled when CONFIG_PRINTK_NMI is defined. I am going > to fix it the following way: > > > diff --git a/init/Kconfig b/init/Kconfig > index efcff25a112d..61cfd96a3c96 100644 > --- a/init/Kconfig > +++ b/init/Kconfig > @@ -870,7 +870,7 @@ config NMI_LOG_BUF_SHIFT > int "Temporary per-CPU NMI log buffer size (12 => 4KB, 13 => 8KB)" > range 10 21 > default 13 > - depends on PRINTK && HAVE_NMI > + depends on PRINTK_NMI > help > Select the size of a per-CPU buffer where NMI messages are temporary > stored. They are copied to the main log buffer in a safe context I'm wondering why we're building kernel/printk/nmi.o if HAVE_NMI is not set. obj-$(CONFIG_PRINTK_NMI) += nmi.o and config PRINTK_NMI def_bool y depends on PRINTK depends on HAVE_NMI || NEED_PRINTK_NMI This is a bit messy. NEED_PRINTK_NMI is an added-on hack for one particular arm variant. From the changelog: "One exception is arm where the deferred printing is used for printing backtraces even without NMI. For this purpose, we define NEED_PRINTK_NMI Kconfig flag. The alternative printk_func is explicitly set when IPI_CPU_BACKTRACE is handled." - why does arm needs deferred printing for backtraces? - why is this specific to CONFIG_CPU_V7M? - can this Kconfig logic be cleaned up a bit? -- 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/