Re: [PATCH 03/18] printk: Convert pr_fmt from blank define to KBUILD_MODNAME
From: Joe Perches
Date: Thu May 10 2018 - 22:57:11 EST
On Fri, 2018-05-11 at 11:41 +0900, Sergey Senozhatsky wrote:
> On (05/10/18 19:33), Joe Perches wrote:
> > >
> > > [ 28.420519] generic: RSP: 0018:ffffa01dc062bda8 EFLAGS: 00010282
> > > [ 28.420522] generic: RAX: ffffffff8317612f RBX: ffffffffffffffea RCX: ffffa01dc062bdc8
> > > [ 28.420523] generic: RDX: 000055a6a3f03110 RSI: 0000000000000001 RDI: ffffffff83e31540
> > > [ 28.420525] generic: RBP: 0000000000000001 R08: ffffa01dc062bec0 R09: 0000000000000004
> > > [ 28.420526] generic: R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000001
> > > [ 28.420528] generic: R13: ffffffff83e31540 R14: ffffa01dc062bec0 R15: 0000000000000002
> > > [ 28.420547] generic: ? rcu_read_lock_sched_held+0x5d/0x63
> > > [ 28.420549] generic: ? rcu_sync_lockdep_assert+0x2e/0x54
> > > [ 28.420551] generic: ? __sb_start_write+0xeb/0x1a3
> > >
> > > Correct?
> >
> > No, that stack dump comes from arch/x86/kernel/dumpstack.c
> > and that uses printk(KERN_DEFAULT ... and generic printk(
> > which is not prefixed at all.
>
> That's platform specific. Right?
yes, it seems so.
> Most of platforms [probably most of them]
> use plain printk("... %pS"). But some use pr_emerg("[<%p>] %s%pS\n") or
> pr_info("PC: [<%08lx>] %pS\n"), and so on.
>
> In case of x86, I think we will have some changes as well. Looking
> at generic __warn(): pr_warn("WARNING: CPU: %d PID: %d at %s:%d %pS\n")
> and pr_warn("WARNING: CPU: %d PID: %d at %pS\n") and probably some
> others will change now:
>
> Instead of
>
> [ 0.000000] ------------[ cut here ]------------
> [ 0.000000] WARNING: CPU: 0 PID: 0 at blah-blah-blah
>
> we will have
> [ 0.000000] panic: ------------[ cut here ]------------
> [ 0.000000] panic: WARNING: CPU: 0 PID: 0 at blah-blah-blah
right.
So far, I've made no attempt to update arch/...
It's almost certain that some additions of
#define pr_fmt(fmt) fmt
will need to be made for some arch/... files.