[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <063a776096964e8192c94e38413edbe0@AcuMS.aculab.com>
Date: Mon, 11 Dec 2017 12:55:49 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Sergey Senozhatsky' <sergey.senozhatsky.work@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Russell King <linux@...linux.org.uk>,
"Catalin Marinas" <catalin.marinas@....com>,
Mark Salter <msalter@...hat.com>,
"Tony Luck" <tony.luck@...el.com>,
David Howells <dhowells@...hat.com>,
"Yoshinori Sato" <ysato@...rs.sourceforge.jp>,
Guan Xuetao <gxt@...c.pku.edu.cn>,
Borislav Petkov <bp@...en8.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Thomas Gleixner <tglx@...utronix.de>,
"Peter Zijlstra" <peterz@...radead.org>,
Vineet Gupta <vgupta@...opsys.com>,
Fengguang Wu <fengguang.wu@...el.com>
CC: Steven Rostedt <rostedt@...dmis.org>,
Petr Mladek <pmladek@...e.com>,
LKML <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-c6x-dev@...ux-c6x.org" <linux-c6x-dev@...ux-c6x.org>,
"linux-ia64@...r.kernel.org" <linux-ia64@...r.kernel.org>,
"linux-am33-list@...hat.com" <linux-am33-list@...hat.com>,
"linux-sh@...r.kernel.org" <linux-sh@...r.kernel.org>,
"linux-edac@...r.kernel.org" <linux-edac@...r.kernel.org>,
"x86@...nel.org" <x86@...nel.org>,
"linux-snps-arc@...ts.infradead.org"
<linux-snps-arc@...ts.infradead.org>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>
Subject: RE: [PATCH 11/13] irq debug: do not use print_symbol()
From: Sergey Senozhatsky
> Sent: 11 December 2017 12:50
> print_symbol() uses extra stack space to sprintf() symbol
> information and then to feed that buffer to printk()
>
> char buffer[KSYM_SYMBOL_LEN];
>
> sprint_symbol(buffer, address);
> printk(fmt, buffer);
>
> Replace print_symbol() with a direct printk("%pS") call.
>
> Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@...il.com>
> Cc: Thomas Gleixner <tglx@...utronix.de>
> ---
> kernel/irq/debug.h | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/kernel/irq/debug.h b/kernel/irq/debug.h
> index 17f05ef8f575..5766e15c1160 100644
> --- a/kernel/irq/debug.h
> +++ b/kernel/irq/debug.h
...
> @@ -15,13 +13,13 @@ static inline void print_irq_desc(unsigned int irq, struct irq_desc *desc)
> printk("irq %d, desc: %p, depth: %d, count: %d, unhandled: %d\n",
> irq, desc, desc->depth, desc->irq_count, desc->irqs_unhandled);
> printk("->handle_irq(): %p, ", desc->handle_irq);
> - print_symbol("%s\n", (unsigned long)desc->handle_irq);
> + pr_cont("%pS\n", desc->handle_irq);
Looks like you can (and should) use a single printk() instead of pr_cont.
David
Powered by blists - more mailing lists