[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4B75E236.7060108@windriver.com>
Date: Fri, 12 Feb 2010 17:20:22 -0600
From: Jason Wessel <jason.wessel@...driver.com>
To: Andrew Morton <akpm@...ux-foundation.org>
CC: linux-kernel@...r.kernel.org, kgdb-bugreport@...ts.sourceforge.net,
mingo@...e.hu, Randy Dunlap <randy.dunlap@...cle.com>
Subject: Re: [PATCH 22/28] printk,kdb: capture printk() when in kdb shell
Andrew Morton wrote:
> On Fri, 12 Feb 2010 16:35:37 -0600 Jason Wessel <jason.wessel@...driver.com> wrote:
>
>
>> @@ -609,6 +610,14 @@ asmlinkage int printk(const char *fmt, ...)
>> va_list args;
>> int r;
>>
>> +#ifdef CONFIG_KGDB_KDB
>> + if (unlikely(kdb_trap_printk)) {
>> + va_start(args, fmt);
>> + r = vkdb_printf(fmt, args);
>> + va_end(args);
>> + return r;
>> + }
>> +#endif
>> va_start(args, fmt);
>> r = vprintk(fmt, args);
>> va_end(args);
>>
>
> this?
>
> --- a/kernel/printk.c~a
> +++ a/kernel/printk.c
> @@ -594,7 +594,11 @@ asmlinkage int printk(const char *fmt, .
> int r;
>
> va_start(args, fmt);
> +#ifdef CONFIG_KGDB_KDB
> + r = vkdb_printf(fmt, args);
> +#else
> r = vprintk(fmt, args);
> +#endif
> va_end(args);
>
> return r;
> _
>
If you feel that would be cleaner, I can make that change, but I would
also have to call vprintk() from vkdb_printf when ever kdb_trap_printk
is not set. Do I understand your recommendation correctly?
The only time the kdb_trap_printk is ever set comes when we are inside
the kernel debug shell, and do something like "bt". It serves the
purpose of letting folks run the stack dumper and a few other
functions. We want to trap printk's in this instance because we don't
want them in the log them and also for the case when your debug
connection is not actually a system log console, or if you run the
command via gdb (example is "monitor bt").
Thanks,
Jason.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists