Re: [PATCH v2] dynamic debug: allow printing to trace event

From: Jason Baron
Date: Fri Aug 14 2020 - 17:34:29 EST




On 8/14/20 1:15 PM, Steven Rostedt wrote:
> On Fri, 14 Aug 2020 15:31:51 +0200
> Vincent Whitchurch <vincent.whitchurch@xxxxxxxx> 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.

>
>> #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.

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?

Thanks,

-Jason