Messages in this thread | ![/](/images/icornerl.gif) | | Date | Tue, 25 Aug 2020 17:32:26 +0200 | From | Vincent Whitchurch <> | Subject | Re: [PATCH v2] dynamic debug: allow printing to trace event |
| |
On Fri, Aug 14, 2020 at 11:30:34PM +0200, Jason Baron wrote: > On 8/14/20 1:15 PM, Steven Rostedt wrote: > > On Fri, 14 Aug 2020 15:31:51 +0200 > > Vincent Whitchurch <vincent.whitchurch@axis.com> wrote: > >> index aa9ff9e1c0b3..f599ed21ecc5 100644 > >> --- a/include/linux/dynamic_debug.h > >> +++ b/include/linux/dynamic_debug.h > >> @@ -27,13 +27,16 @@ struct _ddebug { > >> * writes commands to <debugfs>/dynamic_debug/control > >> */ > >> #define _DPRINTK_FLAGS_NONE 0 > >> -#define _DPRINTK_FLAGS_PRINT (1<<0) /* printk() a message using the format */ > >> +#define _DPRINTK_FLAGS_PRINTK (1<<0) /* printk() a message using the format */ > > > > The above looks like a cleanup unrelated to this patch, and probably > > should be on its own. > > I read it as we used to have this one thing called 'print', which really meant > printk, but now that we also have the ability to output to the trace buffer, > what does 'print' mean now? So I read it as being part of this change.
Yes, that's what was intended, but I think it makes sense to split it out as Steven suggested so I've done that now (and also renamed the combined flag to the less ambiguous _DPRINTK_FLAGS_ENABLE).
> > > > >> #define _DPRINTK_FLAGS_INCL_MODNAME (1<<1) > >> #define _DPRINTK_FLAGS_INCL_FUNCNAME (1<<2) > >> #define _DPRINTK_FLAGS_INCL_LINENO (1<<3) > >> #define _DPRINTK_FLAGS_INCL_TID (1<<4) > >> +#define _DPRINTK_FLAGS_TRACE (1<<5) > >> +#define _DPRINTK_FLAGS_PRINT (_DPRINTK_FLAGS_PRINTK | \ > >> + _DPRINTK_FLAGS_TRACE) > > > Is _DPRINTK_FLAGS_PRINT actually used anywhere? Looks to me like > it can be removed.
It's used from DYNAMIC_DEBUG_BRANCH() as well as from lib/dynamic_debug.c to check if the location is enabled.
> This is a feature I've wanted for dynamic debug for a while. Thanks for > implementing it! > > Dynamic can be enabled on the command line in order to print things early > in boot (I think ftrace can as well), I want to make sure that there are > no ordering issues here? And things wouldn't blow up if we enable printing > to the ftrace buffer early on via dyanmic debug?
I tried enabling all dynamic debug locations and tracing via the command line and that worked fine:
dyndbg="file * +x" trace_event=printk:*
| ![\](/images/icornerr.gif) |