]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
hyper-v: trace vmbus_establish_gpadl()
authorVitaly Kuznetsov <vkuznets@redhat.com>
Sun, 29 Oct 2017 19:21:11 +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_GPADL_HEADER/CHANNELMSG_GPADL_BODY 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 a827f43aa4084efba90a1b92a7cff76b1ec52342..823ddc714d56312652605660407998baca0a0a14 100644 (file)
@@ -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;
 
index 302bd4e964f0a9b0736192ceb21642ce0705c3c4..978e70bdc7c55e6dd066c8c1626549606005fbbb 100644 (file)
@@ -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