Add tracepoint to CHANNELMSG_GPADL_HEADER/CHANNELMSG_GPADL_BODY sender.

Signed-off-by: Vitaly Kuznetsov <vkuzn...@redhat.com>
---
 drivers/hv/channel.c  |  6 ++++++
 drivers/hv/hv_trace.h | 42 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 48 insertions(+)

diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index f919d9dd984b..cf6bc0667cde 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -435,6 +435,9 @@ int vmbus_establish_gpadl(struct vmbus_channel *channel, 
void *kbuffer,
 
        ret = vmbus_post_msg(gpadlmsg, msginfo->msgsize -
                             sizeof(*msginfo), true);
+
+       trace_vmbus_establish_gpadl_header(gpadlmsg, ret);
+
        if (ret != 0)
                goto cleanup;
 
@@ -450,6 +453,9 @@ int vmbus_establish_gpadl(struct vmbus_channel *channel, 
void *kbuffer,
                ret = vmbus_post_msg(gpadl_body,
                                     submsginfo->msgsize - sizeof(*submsginfo),
                                     true);
+
+               trace_vmbus_establish_gpadl_body(gpadl_body, ret);
+
                if (ret != 0)
                        goto cleanup;
 
diff --git a/drivers/hv/hv_trace.h b/drivers/hv/hv_trace.h
index ecfacb114331..9eb8ee51a77f 100644
--- a/drivers/hv/hv_trace.h
+++ b/drivers/hv/hv_trace.h
@@ -172,6 +172,48 @@ TRACE_EVENT(vmbus_close_internal,
                    __entry->ret)
        );
 
+TRACE_EVENT(vmbus_establish_gpadl_header,
+           TP_PROTO(const struct vmbus_channel_gpadl_header *msg, int ret),
+           TP_ARGS(msg, ret),
+           TP_STRUCT__entry(
+                   __field(u32, child_relid)
+                   __field(u32, gpadl)
+                   __field(u16, range_buflen)
+                   __field(u16, rangecount)
+                   __field(int, ret)
+                   ),
+           TP_fast_assign(
+                   __entry->child_relid = msg->child_relid;
+                   __entry->gpadl = msg->gpadl;
+                   __entry->range_buflen = msg->range_buflen;
+                   __entry->rangecount = msg->rangecount;
+                   __entry->ret = ret;
+                   ),
+           TP_printk("sending child_relid 0x%x, gpadl 0x%x, range_buflen %d "
+                     "rangecount %d, ret %d",
+                     __entry->child_relid, __entry->gpadl,
+                     __entry->range_buflen, __entry->rangecount, __entry->ret
+                   )
+       );
+
+TRACE_EVENT(vmbus_establish_gpadl_body,
+           TP_PROTO(const struct vmbus_channel_gpadl_body *msg, int ret),
+           TP_ARGS(msg, ret),
+           TP_STRUCT__entry(
+                   __field(u32, msgnumber)
+                   __field(u32, gpadl)
+                   __field(int, ret)
+                   ),
+           TP_fast_assign(
+                   __entry->msgnumber = msg->msgnumber;
+                   __entry->gpadl = msg->gpadl;
+                   __entry->ret = ret;
+                   ),
+           TP_printk("sending msgnumber %d, gpadl 0x%x, ret %d",
+                     __entry->msgnumber, __entry->gpadl, __entry->ret
+                   )
+       );
+
 #undef TRACE_INCLUDE_PATH
 #define TRACE_INCLUDE_PATH .
 #undef TRACE_INCLUDE_FILE
-- 
2.13.5

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to