Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758041AbYAWRoe (ORCPT ); Wed, 23 Jan 2008 12:44:34 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753949AbYAWRoX (ORCPT ); Wed, 23 Jan 2008 12:44:23 -0500 Received: from outbound-dub.frontbridge.com ([213.199.154.16]:9499 "EHLO outbound8-dub-R.bigfish.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753049AbYAWRoW (ORCPT ); Wed, 23 Jan 2008 12:44:22 -0500 X-BigFish: VP X-MS-Exchange-Organization-Antispam-Report: OrigIP: 160.33.66.75;Service: EHS Message-ID: <47977E39.8000109@am.sony.com> Date: Wed, 23 Jan 2008 09:49:45 -0800 From: Tim Bird User-Agent: Thunderbird 1.5.0.4 (X11/20060614) MIME-Version: 1.0 To: Mathieu Desnoyers CC: Daniel Walker , Steven Rostedt , LKML , Ingo Molnar , Linus Torvalds , Andrew Morton , Peter Zijlstra , Christoph Hellwig , Gregory Haskins , Arnaldo Carvalho de Melo , Thomas Gleixner , Sam Ravnborg , "Frank Ch. Eigler" , Jan Kiszka , John Stultz , Arjan van de Ven , Steven Rostedt Subject: Re: [PATCH 01/20 -v5] printk - dont wakeup klogd with interrupts disabled References: <20080123160236.969334052@goodmis.org> <20080123160441.236562634@goodmis.org> <1201107978.13596.16.camel@imap.mvista.com> <20080123172509.GC22229@Krystal> In-Reply-To: <20080123172509.GC22229@Krystal> X-Enigmail-Version: 0.94.0.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 23 Jan 2008 17:44:12.0620 (UTC) FILETIME=[90ADD8C0:01C85DE7] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1393 Lines: 37 Mathieu Desnoyers wrote: > Can we change this for : > if (!(irqs_disabled() && !oops_in_progress) && wake_klogd) > wake_up_klogd(); !oops_in_progress is already inside wake_up_klogd(). Also, I think you'd want that first '!' inside the parens. I've been working on a system to handle deferred displaying of printk messages, when printk is called in interrupt context. Currently on a serial console if printk is called with ints disabled, it can hold interrupts off for up to 20 milliseconds. My solution was to set up a worker thread to handle deferred printk activity. I don't think this works for the oops case, because you don't want to defer the output. However, I can post this code if you think it would help with this problem. I hesitate to just drop the call to wake_up_klogd() without some kind of mechanism call it later. Waiting until the next printk will work to drain the buffer, but could lead to indefinite intervals with printks waiting to be logged. -- Tim ============================= Tim Bird Architecture Group Chair, CE Linux Forum Senior Staff Engineer, Sony Corporation of America ============================= -- 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/