On Thu, 21 Sep 2017 10:17:18 +0200 Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> wrote: > Steven Rostedt <rostedt@xxxxxxxxxxx> writes: > > > On Wed, 20 Sep 2017 19:21:53 +0200 > > Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> wrote: > > > >> diff --git a/drivers/hv/hv_trace.h b/drivers/hv/hv_trace.h > >> index 9a29ef55477d..72911dfc9682 100644 > >> --- a/drivers/hv/hv_trace.h > >> +++ b/drivers/hv/hv_trace.h > >> @@ -14,6 +14,14 @@ TRACE_EVENT(vmbus_on_msg_dpc, > >> TP_printk("message %u received", __entry->msgtype) > >> ); > >> > >> +TRACE_EVENT(vmbus_on_message, > >> + TP_PROTO(const struct vmbus_channel_message_header *hdr), > >> + TP_ARGS(hdr), > >> + TP_STRUCT__entry(__field(unsigned int, msgtype)), > >> + TP_fast_assign(__entry->msgtype = hdr->msgtype), > >> + TP_printk("processing message %u", __entry->msgtype) > >> + ); > > > > Whenever you have two trace events with everything the same but the > > TP_printk(), you can save a little space by using DEFINE_EVENT_PRINT() > > > > DECLARE_EVENT_CLASS(vmbus_hdr_msg, > > TP_PROTO(const struct vmbus_channel_message_header *hdr), > > TP_ARGS(hdr), > > TP_STRUCT__entry(__field(unsigned int, msgtype), > > TP_fast_assign(__entry->msg = hdr->msgtype;), > > TP_printk("msgtype=%d", __entry->msgtype) > > ); > > > > DEFINE_EVENT_PRINT(vmbus_hdr_msg, vmbus_on_msg_dpc, > > TP_PROTO(const struct vmbus_channel_message_header *hdr), > > TP_ARGS(hdr), > > TP_printk("message %u received", __entry->msgtype)); > > > > DEFINE_EVENT_PRINT(vmbus_hdr_msg, vmbus_on_message, > > TP_PROTO(const struct vmbus_channel_message_header *hdr), > > TP_ARGS(hdr), > > TP_printk("processing message %u", __entry->msgtype)); > > > > This will use the same functions required to save and record the > > message but will use a different function to output it to the trace. > > Oh, thanks! This seems to be useful for > vmbus_on_msg_dpc/vmbus_on_message only as all the rest needs to parse > different structures. Will use it in v2. > I just used this patch. Since function name is already in the trace message no need to have different print's for each one. >From ff85967810c216eb01d181789af4f56bd00dc9b9 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger <sthemmin@xxxxxxxxxxxxx> Date: Tue, 3 Oct 2017 09:24:11 -0700 Subject: [PATCH 3/4] hyperv: fix warnings in trace print This gets rid of the build warnings from unused printf format. And uses common class for print. --- drivers/hv/hv_trace.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/hv/hv_trace.h b/drivers/hv/hv_trace.h index be7762955650..4755c4640e39 100644 --- a/drivers/hv/hv_trace.h +++ b/drivers/hv/hv_trace.h @@ -11,18 +11,18 @@ DECLARE_EVENT_CLASS(vmbus_hdr_msg, TP_ARGS(hdr), TP_STRUCT__entry(__field(unsigned int, msgtype)), TP_fast_assign(__entry->msgtype = hdr->msgtype;), - TP_printk("msgtype=%d", __entry->msgtype) + TP_printk("msgtype=%u", __entry->msgtype) ); -DEFINE_EVENT_PRINT(vmbus_hdr_msg, vmbus_on_msg_dpc, +DEFINE_EVENT(vmbus_hdr_msg, vmbus_on_msg_dpc, TP_PROTO(const struct vmbus_channel_message_header *hdr), - TP_ARGS(hdr), - TP_printk("message %u received", __entry->msgtype)); + TP_ARGS(hdr) +); -DEFINE_EVENT_PRINT(vmbus_hdr_msg, vmbus_on_message, +DEFINE_EVENT(vmbus_hdr_msg, vmbus_on_message, TP_PROTO(const struct vmbus_channel_message_header *hdr), - TP_ARGS(hdr), - TP_printk("processing message %u", __entry->msgtype)); + TP_ARGS(hdr) +); TRACE_EVENT(vmbus_onoffer, TP_PROTO(const struct vmbus_channel_offer_channel *offer), -- 2.11.0 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel