Messages in this thread | | | Date | Thu, 2 Oct 2008 16:31:54 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH] printk.caller |
| |
On Thu, 2 Oct 2008 16:21:15 -0700 (PDT) Roland McGrath <roland@redhat.com> wrote:
> This adds the printk.caller=[0|1] boot parameter, default setting > controlled by CONFIG_PRINTK_CALLER. (This is modelled on printk.time > and CONFIG_PRINTK_TIME.) > > When this is set, each printk line is automagically prefixed with > "{0x123abc} " giving the PC address of that printk call (actually > the PC address just after the call). > > As a kernel hacker, I always hate having to grep for some fragment > of a message to find the code that generated it. But I always have > my -g vmlinux handy, so: > (gdb) info line *(0x123abc - 1) > is real handy (it pops the source up in an Emacs buffer). >
hm. What do others think?
> > ... > > +config PRINTK_CALLER > + bool "Show caller PC on printks" > + depends on PRINTK > + help > + Selecting this option causes printk output to include > + the PC address of the printk call. This is useful for > + kernels hackers to quickly locate the source code that > + produced the message. > +
This is quite misleading. The config help implies that CONFIG_PRINTK_CALLER will enable the feature at compile time. But it doesn't - it just sets the boot-time enable/disable default.
If you do this:
#ifdef CONFIG_PRINTK_CALLER static int printk_caller = 1; #else #define printk_caller 0 #endif
then the implementation would somewhat reflect the config option.
But I'd suggest that this thing is so small that it doesn't need a config option to enable the presence of the code - just make it unconditional.
Also, I guess that the boot-time option is useful, but a runtime /proc knob might also be needed?
| |