Re: [PATCH 03/18] printk: Convert pr_fmt from blank define to KBUILD_MODNAME

From: Sergey Senozhatsky
Date: Thu May 10 2018 - 22:41:55 EST


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? 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

-ss