linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: sergey.senozhatsky.work@gmail.com (Sergey Senozhatsky)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 00/13] replace print_symbol() with printk()-s
Date: Fri, 5 Jan 2018 21:01:31 +0900	[thread overview]
Message-ID: <20180105120131.GA417@jagdpanzerIV> (raw)
In-Reply-To: <20180105102105.GB471@jagdpanzerIV>

On (01/05/18 19:21), Sergey Senozhatsky wrote:
> >     print_symbol() is an old weird API. It has been
> >     obsoleted by printk() and %pS format specifier.
> 
> I wouldn't. let's drop the "weird" part.

hm...

you are right, it is weird. and the weird part here is that
print_symbol() is used for things like __show_regs()

       print_symbol("PC is at %s\n", instruction_pointer(regs));
       print_symbol("LR is at %s\n", regs->ARM_lr);
       printk("pc : [<%08lx>]    lr : [<%08lx>]    psr: %08lx\n",
              regs->ARM_pc, regs->ARM_lr, regs->ARM_cpsr);

or for EMERG error reporting

        pr_emerg("unexpected fault for address: 0x%08lx, last fault for address: 0x%08lx\n",
                 addr, my_reason->addr);
        print_pte(addr);
       print_symbol(KERN_EMERG "faulting IP is at %s\n", regs->ip);
       print_symbol(KERN_EMERG "last faulting IP was at %s\n", my_reason->ip);
 #ifdef __i386__
        pr_emerg("eax: %08lx   ebx: %08lx   ecx: %08lx   edx: %08lx\n",
                 regs->ax, regs->bx, regs->cx, regs->dx);

or for error reporting in sysfs

               print_symbol("fill_read_buffer: %s returned bad count\n",
                       (unsigned long)ops->show);

and so on.

but, print_symbol() is compiled out on !CONFIG_KALLSYMS systems. so,
basically, we compile out some of errors print outs; even more, on ia64
ia64_do_show_stack() does nothing when there is no CONFIG_KALLSYMS [all
ia64 defconfigs have KALLSYMS_ALL enabled]. printk(%pS), unlike
print_symbol(), is not compiled out and prints the function address
when symbolic name is not available. but, at a glance, print_symbol()
in most of the cases has printk(registers) next to it or before it, so
it doesn't look like we are introducing a regression here by switching
to printk(%pS).

	-ss

  parent reply	other threads:[~2018-01-05 12:01 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-11 12:50 [PATCH 00/13] replace print_symbol() with printk()-s Sergey Senozhatsky
2017-12-11 12:50 ` [PATCH 01/13] arm: do not use print_symbol() Sergey Senozhatsky
2017-12-11 12:50 ` [PATCH 02/13] arm64: " Sergey Senozhatsky
2017-12-11 12:50 ` [PATCH 03/13] c6x: " Sergey Senozhatsky
2017-12-11 12:50 ` [PATCH 04/13] ia64: " Sergey Senozhatsky
2017-12-11 12:50 ` [PATCH 05/13] mn10300: " Sergey Senozhatsky
2017-12-11 12:50 ` [PATCH 06/13] sh: " Sergey Senozhatsky
2017-12-11 12:50 ` [PATCH 07/13] unicore32: " Sergey Senozhatsky
2017-12-11 12:50 ` [PATCH 08/13] x86: " Sergey Senozhatsky
2017-12-11 17:45   ` Borislav Petkov
2017-12-12  2:41     ` Sergey Senozhatsky
2017-12-11 12:50 ` [PATCH 09/13] drivers: " Sergey Senozhatsky
2017-12-11 12:50 ` [PATCH 10/13] sysfs: " Sergey Senozhatsky
2017-12-11 12:50 ` [PATCH 11/13] irq debug: " Sergey Senozhatsky
2017-12-11 12:55   ` David Laight
2017-12-12  2:50     ` Sergey Senozhatsky
2017-12-12  7:34   ` [PATCHv2 " Sergey Senozhatsky
2017-12-11 12:50 ` [PATCH 12/13] lib: " Sergey Senozhatsky
2017-12-11 12:50 ` [PATCH 13/13] arc: do not use __print_symbol() Sergey Senozhatsky
2017-12-11 16:28   ` Vineet Gupta
2017-12-12  2:41     ` Sergey Senozhatsky
2017-12-11 16:26 ` [PATCH 00/13] replace print_symbol() with printk()-s Joe Perches
2017-12-12  2:47   ` Sergey Senozhatsky
2017-12-12  3:10     ` Joe Perches
2017-12-21  5:54       ` Sergey Senozhatsky
2017-12-20 10:20 ` Sergey Senozhatsky
2018-01-05 10:03 ` Petr Mladek
2018-01-05 10:21   ` Sergey Senozhatsky
2018-01-05 10:25     ` Sergey Senozhatsky
2018-01-05 14:42       ` Petr Mladek
2018-01-05 14:57         ` Sergey Senozhatsky
2018-01-08  2:09         ` Sergey Senozhatsky
     [not found]           ` <20180116163301.lh76kvjheyobjgkp@pathway.suse.cz>
2018-01-17  2:36             ` Sergey Senozhatsky
2018-01-05 11:38     ` Petr Mladek
2018-01-05 12:01     ` Sergey Senozhatsky [this message]
2018-01-05 12:23       ` Sergey Senozhatsky
2018-01-05 13:09         ` Petr Mladek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180105120131.GA417@jagdpanzerIV \
    --to=sergey.senozhatsky.work@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).