hyper-v: trace vmbus_release_relid()
authorVitaly Kuznetsov <vkuznets@redhat.com>
Sun, 29 Oct 2017 19:21:14 +0000 (12:21 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 4 Nov 2017 11:04:26 +0000 (12:04 +0100)
Add tracepoint to CHANNELMSG_RELID_RELEASED 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_mgmt.c
drivers/hv/hv_trace.h

index b27edff..ec5454f 100644 (file)
@@ -373,12 +373,15 @@ static void percpu_channel_deq(void *arg)
 static void vmbus_release_relid(u32 relid)
 {
        struct vmbus_channel_relid_released msg;
+       int ret;
 
        memset(&msg, 0, sizeof(struct vmbus_channel_relid_released));
        msg.child_relid = relid;
        msg.header.msgtype = CHANNELMSG_RELID_RELEASED;
-       vmbus_post_msg(&msg, sizeof(struct vmbus_channel_relid_released),
-                      true);
+       ret = vmbus_post_msg(&msg, sizeof(struct vmbus_channel_relid_released),
+                            true);
+
+       trace_vmbus_release_relid(&msg, ret);
 }
 
 void hv_process_channel_removal(u32 relid)
index f06284d..f0e437c 100644 (file)
@@ -258,6 +258,22 @@ TRACE_EVENT(vmbus_negotiate_version,
                    )
        );
 
+TRACE_EVENT(vmbus_release_relid,
+           TP_PROTO(const struct vmbus_channel_relid_released *msg, int ret),
+           TP_ARGS(msg, ret),
+           TP_STRUCT__entry(
+                   __field(u32, child_relid)
+                   __field(int, ret)
+                   ),
+           TP_fast_assign(
+                   __entry->child_relid = msg->child_relid;
+                   __entry->ret = ret;
+                   ),
+           TP_printk("sending child_relid 0x%x, ret %d",
+                     __entry->child_relid, __entry->ret
+                   )
+       );
+
 #undef TRACE_INCLUDE_PATH
 #define TRACE_INCLUDE_PATH .
 #undef TRACE_INCLUDE_FILE