Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1742110 > unrolled thread

[PATCH v2 00/16] Hyper-V: add tracing to VMBus module and trace all messages

Started byVitaly Kuznetsov <vkuznets@redhat.com>
First post2017-09-29 15:30 +0200
Last post2017-09-29 15:40 +0200
Articles 10 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH v2 00/16] Hyper-V: add tracing to VMBus module and trace all messages Vitaly Kuznetsov <vkuznets@redhat.com> - 2017-09-29 15:30 +0200
    [PATCH v2 13/16] hyper-v: trace vmbus_teardown_gpadl() Vitaly Kuznetsov <vkuznets@redhat.com> - 2017-09-29 15:30 +0200
    [PATCH v2 05/16] hyper-v: trace vmbus_onopen_result() Vitaly Kuznetsov <vkuznets@redhat.com> - 2017-09-29 15:30 +0200
    [PATCH v2 15/16] hyper-v: trace vmbus_release_relid() Vitaly Kuznetsov <vkuznets@redhat.com> - 2017-09-29 15:30 +0200
    [PATCH v2 12/16] hyper-v: trace vmbus_establish_gpadl() Vitaly Kuznetsov <vkuznets@redhat.com> - 2017-09-29 15:30 +0200
    [PATCH v2 02/16] hyper-v: trace vmbus_on_message() Vitaly Kuznetsov <vkuznets@redhat.com> - 2017-09-29 15:40 +0200
    [PATCH v2 08/16] hyper-v: trace vmbus_onversion_response() Vitaly Kuznetsov <vkuznets@redhat.com> - 2017-09-29 15:40 +0200
    [PATCH v2 04/16] hyper-v: trace vmbus_onoffer_rescind() Vitaly Kuznetsov <vkuznets@redhat.com> - 2017-09-29 15:40 +0200
    [PATCH v2 11/16] hyper-v: trace vmbus_close_internal() Vitaly Kuznetsov <vkuznets@redhat.com> - 2017-09-29 15:40 +0200
    [PATCH v2 06/16] hyper-v: trace vmbus_ongpadl_created() Vitaly Kuznetsov <vkuznets@redhat.com> - 2017-09-29 15:40 +0200

#1742110 — [PATCH v2 00/16] Hyper-V: add tracing to VMBus module and trace all messages

FromVitaly Kuznetsov <vkuznets@redhat.com>
Date2017-09-29 15:30 +0200
Subject[PATCH v2 00/16] Hyper-V: add tracing to VMBus module and trace all messages
Message-ID<uv3wB-6Hg-3@gated-at.bofh.it>
Changes since v1:
- Use DECLARE_EVENT_CLASS/DEFINE_EVENT_PRINT for vmbus_on_msg_dpc/
  vmbus_onmessage tracing (Steven Rostedt)

Messages between guest and host are used in Hyper-V as control flow. To
simplify debugging various issues which are often hard to reproduce add
tracepoints to all message senders and handlers. This is not a performance
critical path and tracing overhead should be negligible.

The example usage and output is:

Enable all tracing events:
# echo 1 > /sys/kernel/debug/tracing/events/hyperv/enable 

Do something which causes messages to be sent between host and guest, e.g.
hot remove a VMBus device.

Check events:
# cat /sys/kernel/debug/tracing/trace 

# tracer: nop
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
          <idle>-0     [005] .Ns.   465.923970: vmbus_on_msg_dpc: message 2 received
     ksoftirqd/5-41    [005] ..s.   465.923998: vmbus_on_msg_dpc: message 2 received
     kworker/5:1-64    [005] ....   465.924005: vmbus_on_message: processing message 2
     kworker/5:1-64    [005] ....   465.924005: vmbus_onoffer_rescind: child_relid 0x16
          <idle>-0     [005] ..s.   465.924114: vmbus_on_msg_dpc: message 2 received
          <idle>-0     [005] ..s.   465.924120: vmbus_on_msg_dpc: message 2 received
          <idle>-0     [005] .Ns.   465.924502: vmbus_on_msg_dpc: message 2 received
     kworker/5:2-208   [005] ....   465.924520: vmbus_on_message: processing message 2
     kworker/5:2-208   [005] ....   465.924520: vmbus_onoffer_rescind: child_relid 0x18
     kworker/5:0-2533  [005] ....   465.924713: vmbus_on_message: processing message 2
     kworker/5:0-2533  [005] ....   465.924713: vmbus_onoffer_rescind: child_relid 0x17
     kworker/5:3-2534  [005] ....   465.924810: vmbus_on_message: processing message 2
     kworker/5:3-2534  [005] ....   465.924810: vmbus_onoffer_rescind: child_relid 0x15
     kworker/5:4-2535  [005] ....   465.924900: vmbus_on_message: processing message 2
     kworker/5:4-2535  [005] ....   465.924901: vmbus_onoffer_rescind: child_relid 0x10
     kworker/5:4-2535  [005] ....   465.932588: vmbus_close_internal: sending child_relid 0x15, ret 0
     kworker/5:4-2535  [005] ....   465.932623: vmbus_close_internal: sending child_relid 0x16, ret 0
     kworker/5:4-2535  [005] ....   465.932656: vmbus_close_internal: sending child_relid 0x17, ret 0
     kworker/5:4-2535  [005] ....   465.932683: vmbus_close_internal: sending child_relid 0x18, ret 0
     kworker/5:4-2535  [005] ....   465.932709: vmbus_close_internal: sending child_relid 0x10, ret 0
     kworker/5:4-2535  [005] ....   465.986417: vmbus_release_relid: sending child_relid 0x10, ret 0

CHANNELMSG_UNLOAD/CHANNELMSG_UNLOAD_RESPONSE are not traced as these are
mostly used on crash.

Vitaly Kuznetsov (16):
  hyper-v: trace vmbus_on_msg_dpc()
  hyper-v: trace vmbus_on_message()
  hyper-v: trace vmbus_onoffer()
  hyper-v: trace vmbus_onoffer_rescind()
  hyper-v: trace vmbus_onopen_result()
  hyper-v: trace vmbus_ongpadl_created()
  hyper-v: trace vmbus_ongpadl_torndown()
  hyper-v: trace vmbus_onversion_response()
  hyper-v: trace vmbus_request_offers()
  hyper-v: trace vmbus_open()
  hyper-v: trace vmbus_close_internal()
  hyper-v: trace vmbus_establish_gpadl()
  hyper-v: trace vmbus_teardown_gpadl()
  hyper-v: trace vmbus_negotiate_version()
  hyper-v: trace vmbus_release_relid()
  hyper-v: trace vmbus_send_tl_connect_request()

 drivers/hv/Makefile       |   4 +-
 drivers/hv/channel.c      |  19 ++-
 drivers/hv/channel_mgmt.c |  26 +++-
 drivers/hv/connection.c   |   3 +
 drivers/hv/hv_trace.c     |   4 +
 drivers/hv/hv_trace.h     | 304 ++++++++++++++++++++++++++++++++++++++++++++++
 drivers/hv/hyperv_vmbus.h |   2 +
 drivers/hv/vmbus_drv.c    |   2 +
 8 files changed, 359 insertions(+), 5 deletions(-)
 create mode 100644 drivers/hv/hv_trace.c
 create mode 100644 drivers/hv/hv_trace.h

-- 
2.13.5

[toc] | [next] | [standalone]


#1742111 — [PATCH v2 13/16] hyper-v: trace vmbus_teardown_gpadl()

FromVitaly Kuznetsov <vkuznets@redhat.com>
Date2017-09-29 15:30 +0200
Subject[PATCH v2 13/16] hyper-v: trace vmbus_teardown_gpadl()
Message-ID<uv3wC-6Hg-27@gated-at.bofh.it>
In reply to#1742110
Add tracepoint to CHANNELMSG_GPADL_TEARDOWN sender.

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

diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index cf6bc0667cde..9cb81838e7bb 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -519,6 +519,8 @@ int vmbus_teardown_gpadl(struct vmbus_channel *channel, u32 gpadl_handle)
 	ret = vmbus_post_msg(msg, sizeof(struct vmbus_channel_gpadl_teardown),
 			     true);
 
+	trace_vmbus_teardown_gpadl(msg, ret);
+
 	if (ret)
 		goto post_msg_err;
 
diff --git a/drivers/hv/hv_trace.h b/drivers/hv/hv_trace.h
index 9eb8ee51a77f..6c585a012a40 100644
--- a/drivers/hv/hv_trace.h
+++ b/drivers/hv/hv_trace.h
@@ -214,6 +214,24 @@ TRACE_EVENT(vmbus_establish_gpadl_body,
 		    )
 	);
 
+TRACE_EVENT(vmbus_teardown_gpadl,
+	    TP_PROTO(const struct vmbus_channel_gpadl_teardown *msg, int ret),
+	    TP_ARGS(msg, ret),
+	    TP_STRUCT__entry(
+		    __field(u32, child_relid)
+		    __field(u32, gpadl)
+		    __field(int, ret)
+		    ),
+	    TP_fast_assign(
+		    __entry->child_relid = msg->child_relid;
+		    __entry->gpadl = msg->gpadl;
+		    __entry->ret = ret;
+		    ),
+	    TP_printk("sending child_relid 0x%x, gpadl 0x%x, ret %d",
+		      __entry->child_relid, __entry->gpadl, __entry->ret
+		    )
+	);
+
 #undef TRACE_INCLUDE_PATH
 #define TRACE_INCLUDE_PATH .
 #undef TRACE_INCLUDE_FILE
-- 
2.13.5

[toc] | [prev] | [next] | [standalone]


#1742112 — [PATCH v2 05/16] hyper-v: trace vmbus_onopen_result()

FromVitaly Kuznetsov <vkuznets@redhat.com>
Date2017-09-29 15:30 +0200
Subject[PATCH v2 05/16] hyper-v: trace vmbus_onopen_result()
Message-ID<uv3wD-6Hg-31@gated-at.bofh.it>
In reply to#1742110
Add tracepoint to CHANNELMSG_OPENCHANNEL_RESULT handler.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
 drivers/hv/channel_mgmt.c |  2 ++
 drivers/hv/hv_trace.h     | 17 +++++++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 563653a02ab6..2abe0563876b 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -980,6 +980,8 @@ static void vmbus_onopen_result(struct vmbus_channel_message_header *hdr)
 
 	result = (struct vmbus_channel_open_result *)hdr;
 
+	trace_vmbus_onopen_result(result);
+
 	/*
 	 * Find the open msg, copy the result and signal/unblock the wait event
 	 */
diff --git a/drivers/hv/hv_trace.h b/drivers/hv/hv_trace.h
index 8bb8806a16f7..c42653c21238 100644
--- a/drivers/hv/hv_trace.h
+++ b/drivers/hv/hv_trace.h
@@ -69,6 +69,23 @@ TRACE_EVENT(vmbus_onoffer_rescind,
 	    TP_printk("child_relid 0x%x", __entry->child_relid)
 	);
 
+TRACE_EVENT(vmbus_onopen_result,
+	    TP_PROTO(const struct vmbus_channel_open_result *result),
+	    TP_ARGS(result),
+	    TP_STRUCT__entry(
+		    __field(u32, child_relid)
+		    __field(u32, openid)
+		    __field(u32, status)
+		    ),
+	    TP_fast_assign(__entry->child_relid = result->child_relid;
+			   __entry->openid = result->openid;
+			   __entry->status = result->status;
+		    ),
+	    TP_printk("child_relid 0x%x, openid %d, status %d",
+		      __entry->child_relid,  __entry->openid,  __entry->status
+		    )
+	);
+
 #undef TRACE_INCLUDE_PATH
 #define TRACE_INCLUDE_PATH .
 #undef TRACE_INCLUDE_FILE
-- 
2.13.5

[toc] | [prev] | [next] | [standalone]


#1742113 — [PATCH v2 15/16] hyper-v: trace vmbus_release_relid()

FromVitaly Kuznetsov <vkuznets@redhat.com>
Date2017-09-29 15:30 +0200
Subject[PATCH v2 15/16] hyper-v: trace vmbus_release_relid()
Message-ID<uv3wC-6Hg-29@gated-at.bofh.it>
In reply to#1742110
Add tracepoint to CHANNELMSG_RELID_RELEASED sender.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
 drivers/hv/channel_mgmt.c |  7 +++++--
 drivers/hv/hv_trace.h     | 16 ++++++++++++++++
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 5c39388545f5..ca2dea638bfb 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -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(struct vmbus_channel *channel, u32 relid)
diff --git a/drivers/hv/hv_trace.h b/drivers/hv/hv_trace.h
index 570482014740..3e751f948a5f 100644
--- a/drivers/hv/hv_trace.h
+++ b/drivers/hv/hv_trace.h
@@ -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
-- 
2.13.5

[toc] | [prev] | [next] | [standalone]


#1742118 — [PATCH v2 12/16] hyper-v: trace vmbus_establish_gpadl()

FromVitaly Kuznetsov <vkuznets@redhat.com>
Date2017-09-29 15:30 +0200
Subject[PATCH v2 12/16] hyper-v: trace vmbus_establish_gpadl()
Message-ID<uv3wD-6Hg-43@gated-at.bofh.it>
In reply to#1742110
Add tracepoint to CHANNELMSG_GPADL_HEADER/CHANNELMSG_GPADL_BODY sender.

Signed-off-by: Vitaly Kuznetsov <vkuznets@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

[toc] | [prev] | [next] | [standalone]


#1742120 — [PATCH v2 02/16] hyper-v: trace vmbus_on_message()

FromVitaly Kuznetsov <vkuznets@redhat.com>
Date2017-09-29 15:40 +0200
Subject[PATCH v2 02/16] hyper-v: trace vmbus_on_message()
Message-ID<uv3Gi-6KD-5@gated-at.bofh.it>
In reply to#1742110
Add tracepoint to vmbus_on_message() which is called when we start
processing a blocking from work context.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
 drivers/hv/channel_mgmt.c | 2 ++
 drivers/hv/hv_trace.h     | 5 +++++
 2 files changed, 7 insertions(+)

diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 060df71c2e8b..ddeebba8971e 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -1170,6 +1170,8 @@ void vmbus_onmessage(void *context)
 	hdr = (struct vmbus_channel_message_header *)msg->u.payload;
 	size = msg->header.payload_size;
 
+	trace_vmbus_on_message(hdr);
+
 	if (hdr->msgtype >= CHANNELMSG_COUNT) {
 		pr_err("Received invalid channel message type %d size %d\n",
 			   hdr->msgtype, size);
diff --git a/drivers/hv/hv_trace.h b/drivers/hv/hv_trace.h
index 82432e351724..4aac780099b4 100644
--- a/drivers/hv/hv_trace.h
+++ b/drivers/hv/hv_trace.h
@@ -19,6 +19,11 @@ DEFINE_EVENT_PRINT(vmbus_hdr_msg, vmbus_on_msg_dpc,
 	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));
+
 #undef TRACE_INCLUDE_PATH
 #define TRACE_INCLUDE_PATH .
 #undef TRACE_INCLUDE_FILE
-- 
2.13.5

[toc] | [prev] | [next] | [standalone]


#1742122 — [PATCH v2 08/16] hyper-v: trace vmbus_onversion_response()

FromVitaly Kuznetsov <vkuznets@redhat.com>
Date2017-09-29 15:40 +0200
Subject[PATCH v2 08/16] hyper-v: trace vmbus_onversion_response()
Message-ID<uv3Gi-6KD-11@gated-at.bofh.it>
In reply to#1742110
Add tracepoint to CHANNELMSG_VERSION_RESPONSE handler.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
 drivers/hv/channel_mgmt.c |  3 +++
 drivers/hv/hv_trace.h     | 11 +++++++++++
 2 files changed, 14 insertions(+)

diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 1ff2cc064850..a9a1fc1424c6 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -1121,6 +1121,9 @@ static void vmbus_onversion_response(
 	unsigned long flags;
 
 	version_response = (struct vmbus_channel_version_response *)hdr;
+
+	trace_vmbus_onversion_response(version_response);
+
 	spin_lock_irqsave(&vmbus_connection.channelmsg_lock, flags);
 
 	list_for_each_entry(msginfo, &vmbus_connection.chn_msg_list,
diff --git a/drivers/hv/hv_trace.h b/drivers/hv/hv_trace.h
index 0c50527c815c..e99db56d27b7 100644
--- a/drivers/hv/hv_trace.h
+++ b/drivers/hv/hv_trace.h
@@ -111,6 +111,17 @@ TRACE_EVENT(vmbus_ongpadl_torndown,
 	    TP_printk("gpadl 0x%x", __entry->gpadl)
 	);
 
+TRACE_EVENT(vmbus_onversion_response,
+	    TP_PROTO(const struct vmbus_channel_version_response *response),
+	    TP_ARGS(response),
+	    TP_STRUCT__entry(
+		    __field(u8, ver)
+		    ),
+	    TP_fast_assign(__entry->ver = response->version_supported;
+		    ),
+	    TP_printk("version_supported %d", __entry->ver)
+	);
+
 #undef TRACE_INCLUDE_PATH
 #define TRACE_INCLUDE_PATH .
 #undef TRACE_INCLUDE_FILE
-- 
2.13.5

[toc] | [prev] | [next] | [standalone]


#1742125 — [PATCH v2 04/16] hyper-v: trace vmbus_onoffer_rescind()

FromVitaly Kuznetsov <vkuznets@redhat.com>
Date2017-09-29 15:40 +0200
Subject[PATCH v2 04/16] hyper-v: trace vmbus_onoffer_rescind()
Message-ID<uv3Gi-6KD-25@gated-at.bofh.it>
In reply to#1742110
Add tracepoint to CHANNELMSG_RESCIND_CHANNELOFFER handler.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
 drivers/hv/channel_mgmt.c | 2 ++
 drivers/hv/hv_trace.h     | 8 ++++++++
 2 files changed, 10 insertions(+)

diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 290ea25ce409..563653a02ab6 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -841,6 +841,8 @@ static void vmbus_onoffer_rescind(struct vmbus_channel_message_header *hdr)
 
 	rescind = (struct vmbus_channel_rescind_offer *)hdr;
 
+	trace_vmbus_onoffer_rescind(rescind);
+
 	/*
 	 * The offer msg and the corresponding rescind msg
 	 * from the host are guranteed to be ordered -
diff --git a/drivers/hv/hv_trace.h b/drivers/hv/hv_trace.h
index d38f8ed272ca..8bb8806a16f7 100644
--- a/drivers/hv/hv_trace.h
+++ b/drivers/hv/hv_trace.h
@@ -61,6 +61,14 @@ TRACE_EVENT(vmbus_onoffer,
 		    )
 	);
 
+TRACE_EVENT(vmbus_onoffer_rescind,
+	    TP_PROTO(const struct vmbus_channel_rescind_offer *offer),
+	    TP_ARGS(offer),
+	    TP_STRUCT__entry(__field(u32, child_relid)),
+	    TP_fast_assign(__entry->child_relid = offer->child_relid),
+	    TP_printk("child_relid 0x%x", __entry->child_relid)
+	);
+
 #undef TRACE_INCLUDE_PATH
 #define TRACE_INCLUDE_PATH .
 #undef TRACE_INCLUDE_FILE
-- 
2.13.5

[toc] | [prev] | [next] | [standalone]


#1742126 — [PATCH v2 11/16] hyper-v: trace vmbus_close_internal()

FromVitaly Kuznetsov <vkuznets@redhat.com>
Date2017-09-29 15:40 +0200
Subject[PATCH v2 11/16] hyper-v: trace vmbus_close_internal()
Message-ID<uv3Gi-6KD-23@gated-at.bofh.it>
In reply to#1742110
Add tracepoint to CHANNELMSG_CLOSECHANNEL sender.

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

diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index 82cb57e2d6bd..f919d9dd984b 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -591,6 +591,8 @@ static int vmbus_close_internal(struct vmbus_channel *channel)
 	ret = vmbus_post_msg(msg, sizeof(struct vmbus_channel_close_channel),
 			     true);
 
+	trace_vmbus_close_internal(msg, ret);
+
 	if (ret) {
 		pr_err("Close failed: close post msg return is %d\n", ret);
 		/*
diff --git a/drivers/hv/hv_trace.h b/drivers/hv/hv_trace.h
index 01acbbf7badf..ecfacb114331 100644
--- a/drivers/hv/hv_trace.h
+++ b/drivers/hv/hv_trace.h
@@ -157,6 +157,21 @@ TRACE_EVENT(vmbus_open,
 		    )
 	);
 
+TRACE_EVENT(vmbus_close_internal,
+	    TP_PROTO(const struct vmbus_channel_close_channel *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
-- 
2.13.5

[toc] | [prev] | [next] | [standalone]


#1742127 — [PATCH v2 06/16] hyper-v: trace vmbus_ongpadl_created()

FromVitaly Kuznetsov <vkuznets@redhat.com>
Date2017-09-29 15:40 +0200
Subject[PATCH v2 06/16] hyper-v: trace vmbus_ongpadl_created()
Message-ID<uv3Gj-6KD-35@gated-at.bofh.it>
In reply to#1742110
Add tracepoint to CHANNELMSG_GPADL_CREATED handler.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
 drivers/hv/channel_mgmt.c |  2 ++
 drivers/hv/hv_trace.h     | 17 +++++++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/drivers/hv/channel_mgmt.c b/drivers/hv/channel_mgmt.c
index 2abe0563876b..af2448e245ca 100644
--- a/drivers/hv/channel_mgmt.c
+++ b/drivers/hv/channel_mgmt.c
@@ -1026,6 +1026,8 @@ static void vmbus_ongpadl_created(struct vmbus_channel_message_header *hdr)
 
 	gpadlcreated = (struct vmbus_channel_gpadl_created *)hdr;
 
+	trace_vmbus_ongpadl_created(gpadlcreated);
+
 	/*
 	 * Find the establish msg, copy the result and signal/unblock the wait
 	 * event
diff --git a/drivers/hv/hv_trace.h b/drivers/hv/hv_trace.h
index c42653c21238..e5973ab27c58 100644
--- a/drivers/hv/hv_trace.h
+++ b/drivers/hv/hv_trace.h
@@ -86,6 +86,23 @@ TRACE_EVENT(vmbus_onopen_result,
 		    )
 	);
 
+TRACE_EVENT(vmbus_ongpadl_created,
+	    TP_PROTO(const struct vmbus_channel_gpadl_created *gpadlcreated),
+	    TP_ARGS(gpadlcreated),
+	    TP_STRUCT__entry(
+		    __field(u32, child_relid)
+		    __field(u32, gpadl)
+		    __field(u32, status)
+		    ),
+	    TP_fast_assign(__entry->child_relid = gpadlcreated->child_relid;
+			   __entry->gpadl = gpadlcreated->gpadl;
+			   __entry->status = gpadlcreated->creation_status;
+		    ),
+	    TP_printk("child_relid 0x%x, gpadl 0x%x, creation_status %d",
+		      __entry->child_relid,  __entry->gpadl,  __entry->status
+		    )
+	);
+
 #undef TRACE_INCLUDE_PATH
 #define TRACE_INCLUDE_PATH .
 #undef TRACE_INCLUDE_FILE
-- 
2.13.5

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web