From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2001:1868:205::9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 67A281A1A2E for ; Fri, 18 Dec 2015 22:29:16 +1100 (AEDT) Date: Fri, 18 Dec 2015 12:29:02 +0100 From: Peter Zijlstra To: Daniel Thompson Cc: Jiri Kosina , Russell King - ARM Linux , Andrew Morton , Petr Mladek , Geert Uytterhoeven , Steven Rostedt , 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: <20151218112902.GO6344@twins.programming.kicks-ass.net> References: <1449667265-17525-1-git-send-email-pmladek@suse.com> <1449667265-17525-5-git-send-email-pmladek@suse.com> <20151211124159.GB3729@pathway.suse.cz> <20151211145725.b0e81bb4bb18fcd72ef5f557@linux-foundation.org> <20151211232113.GZ8644@n2100.arm.linux.org.uk> <5673DD60.7080302@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: <5673DD60.7080302@linaro.org> List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Fri, Dec 18, 2015 at 10:18:08AM +0000, Daniel Thompson wrote: > I'm not entirely sure that this is an improvement. What I do these days is delete everything in vprintk_emit() and simply call early_printk(). Kill the useless kmsg buffer crap and locking, just pound bytes to the UART registers without anything in between. The other semi usable solution is redirecting to trace_printk() and recovering the trace buffers from your kdump. But I've found that typically kdump doesn't work anymore if you properly wedge the machine. So this is very much a second rate solution. But this globally locked buffer, calling out to console drivers that do locking and even scheduling, is an unreliable unfixable trainwreck that I've given up on.