hyper-v: trace vmbus_open()
authorVitaly Kuznetsov <vkuznets@redhat.com>
Sun, 29 Oct 2017 19:21:09 +0000 (12:21 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 4 Nov 2017 11:04:25 +0000 (12:04 +0100)
Add tracepoint to CHANNELMSG_OPENCHANNEL sender.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hv/channel.c
drivers/hv/hv_trace.h

index a406beb..739b3fe 100644 (file)
@@ -185,6 +185,8 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
        ret = vmbus_post_msg(open_msg,
                             sizeof(struct vmbus_channel_open_channel), true);
 
+       trace_vmbus_open(open_msg, ret);
+
        if (ret != 0) {
                err = ret;
                goto error_clean_msglist;
index 566ac0f..38fedb8 100644 (file)
@@ -130,6 +130,33 @@ TRACE_EVENT(vmbus_request_offers,
            TP_printk("sending ret %d", __entry->ret)
        );
 
+TRACE_EVENT(vmbus_open,
+           TP_PROTO(const struct vmbus_channel_open_channel *msg, int ret),
+           TP_ARGS(msg, ret),
+           TP_STRUCT__entry(
+                   __field(u32, child_relid)
+                   __field(u32, openid)
+                   __field(u32, gpadlhandle)
+                   __field(u32, target_vp)
+                   __field(u32, offset)
+                   __field(int, ret)
+                   ),
+           TP_fast_assign(
+                   __entry->child_relid = msg->child_relid;
+                   __entry->openid = msg->openid;
+                   __entry->gpadlhandle = msg->ringbuffer_gpadlhandle;
+                   __entry->target_vp = msg->target_vp;
+                   __entry->offset = msg->downstream_ringbuffer_pageoffset;
+                   __entry->ret = ret;
+                   ),
+           TP_printk("sending child_relid 0x%x, openid %d, "
+                     "gpadlhandle 0x%x, target_vp 0x%x, offset 0x%x, ret %d",
+                     __entry->child_relid,  __entry->openid,
+                     __entry->gpadlhandle, __entry->target_vp,
+                     __entry->offset, __entry->ret
+                   )
+       );
+
 #undef TRACE_INCLUDE_PATH
 #define TRACE_INCLUDE_PATH .
 #undef TRACE_INCLUDE_FILE