Re: [PATCH v1 06/12] trace: use TP_printk_no_nl in dyndbg:prdbg,devdbg

From: Łukasz Bartosik
Date: Fri Nov 10 2023 - 13:19:28 EST


wt., 7 lis 2023 o 01:45 Steven Rostedt <rostedt@xxxxxxxxxxx> napisał(a):
>
> On Fri, 3 Nov 2023 14:10:05 +0100
> Łukasz Bartosik <lb@xxxxxxxxxxxx> wrote:
>
> > index ccc5bcb070f9..91dcdbe059c0 100644
> > --- a/include/trace/events/dyndbg.h
> > +++ b/include/trace/events/dyndbg.h
> > @@ -20,20 +20,10 @@ TRACE_EVENT(prdbg,
> >
> > TP_fast_assign(
> > __entry->desc = desc;
> > - /*
> > - * Each trace entry is printed in a new line.
> > - * If the msg finishes with '\n', cut it off
> > - * to avoid blank lines in the trace.
> > - */
> > - if (len > 0 && (text[len - 1] == '\n'))
> > - len -= 1;
> > -
> > memcpy(__get_str(msg), text, len);
> > - __get_str(msg)[len] = 0;
> > ),
> >
> > - TP_printk("%s.%s %s", __entry->desc->modname,
> > - __entry->desc->function, __get_str(msg))
> > + TP_printk_no_nl("%s", __get_str(msg))
> > );
> >
>
> Instead of adding the TP_printk_no_nl() (Which I still do not like), we
> could add a:
>
> __get_str_strip_nl(msg)
>
> That will do the above loop. Which will move the processing to read side
> (slow path).
>
> And then we could update libtraceevent to handle that too.
>

Thanks Steve.

Jim, if you don't mind I will make the suggested changes ?

> -- Steve