From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Laight Date: Mon, 11 Dec 2017 12:55:49 +0000 Subject: RE: [PATCH 11/13] irq debug: do not use print_symbol() Message-Id: <063a776096964e8192c94e38413edbe0@AcuMS.aculab.com> List-Id: References: <20171211125025.2270-1-sergey.senozhatsky@gmail.com> <20171211125025.2270-12-sergey.senozhatsky@gmail.com> In-Reply-To: <20171211125025.2270-12-sergey.senozhatsky@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-arm-kernel@lists.infradead.org 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 > Cc: Thomas Gleixner > --- > 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