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

From: Joe Perches
Date: Fri May 31 2019 - 15:01:02 EST


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?

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.