Re: [PATCH v2 2/2] KVM: LAPIC: remove the trailing newline used in the fmt parameter of TP_printk

From: Steven Rostedt
Date: Sat Jun 08 2019 - 17:31:34 EST


On Fri, 31 May 2019 11:57:04 -0700
Joe Perches <joe@xxxxxxxxxxx> wrote:

> On Fri, 2019-05-31 at 14:40 +0800, Wanpeng Li wrote:
> > The trailing newlines will lead to extra newlines in the trace file
> []
> > diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h
> []
> > @@ -1365,7 +1365,7 @@ TRACE_EVENT(kvm_hv_timer_state,
> > __entry->vcpu_id = vcpu_id;
> > __entry->hv_timer_in_use = hv_timer_in_use;
> > ),
> > - TP_printk("vcpu_id %x hv_timer %x\n",
> > + TP_printk("vcpu_id %x hv_timer %x",
> > __entry->vcpu_id,
> > __entry->hv_timer_in_use)
> > );
>
> Not about the kvm subsystem, but generically there are
> many of these that could be removed.
>
> $ git grep -w TP_printk | grep '\\n' | wc -l
> 45
>
> Also, aren't all TP_printk formats supposed to be single line?

Yeah they should be, otherwise it makes the trace look funny. We do
have some legitimate ones (stack traces for example), but really,
unless there's a good reason, it shouldn't have them.

>
> If not, these are odd as well.
>
> $ git grep -w TP_printk | grep '\\n[^"]'
> include/trace/events/9p.h: TP_printk("clnt %lu %s(tag = %d)\n%.3x: %16ph\n%.3x: %16ph\n",
> net/tipc/trace.h: TP_printk("%s\n%s", __get_str(header), __get_str(buf))
> net/tipc/trace.h: TP_printk("%s\n%s", __get_str(header), __get_str(buf))
> net/tipc/trace.h: TP_printk("<%u> %s\n%s%s", __entry->portid, __get_str(header),
> net/tipc/trace.h: TP_printk("<%s> %s\n%s", __entry->name, __get_str(header),
> net/tipc/trace.h: TP_printk("<%x> %s\n%s", __entry->addr, __get_str(header),
>
> Perhaps the documentation files around these formats
> Documentation/trace/events.rst
> Documentation/trace/tracepoints.rst
> could be improved as well.
>

Sure, like most documentation ;-)

-- Steve