From: Stephen Hemminger <stephen@networkplumber.org>
To: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: devel@linuxdriverproject.org,
Stephen Hemminger <sthemmin@microsoft.com>,
Haiyang Zhang <haiyangz@microsoft.com>,
linux-kernel@vger.kernel.org,
Steven Rostedt <rostedt@goodmis.org>
Subject: Re: [PATCH v3 00/17] Hyper-V: add tracing to VMBus module and trace messages/events
Date: Thu, 5 Oct 2017 08:49:30 -0700 [thread overview]
Message-ID: <20171005084930.17563afd@xeon-e3> (raw)
In-Reply-To: <20171005145044.12181-1-vkuznets@redhat.com>
On Thu, 5 Oct 2017 16:50:27 +0200
Vitaly Kuznetsov <vkuznets@redhat.com> wrote:
> Changes since v2:
> - Use DEFINE_EVENT in PATCH1/2 to avoid compile warnings [Stephen Hemminger]
> - Add PATCH17 tracing channel events [Stephen Hemminger]
>
> 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 [011] ..s. 122.981583: vmbus_on_msg_dpc: msgtype=1
> kworker/11:7-1506 [011] .... 122.981597: vmbus_on_message: msgtype=1
> kworker/11:7-1506 [011] .... 122.981598: vmbus_onoffer: child_relid 0x10, monitorid 0x2, is_dedicated 1, connection_id 0x10010, if_type f8615163-df3e-46c5-913f-f2d2f965ed0e, if_instance 6676e078-e4b3-44da-8a7d-12eafb577d31, chn_flags 0x0, mmio_megabytes 0, sub_channel_index 0
> kworker/11:7-1506 [011] .... 122.982130: vmbus_establish_gpadl_header: sending child_relid 0x10, gpadl 0xe1e34, range_buflen 2056 rangecount 1, ret 0
> kworker/11:7-1506 [011] .... 122.982133: vmbus_establish_gpadl_body: sending msgnumber 0, gpadl 0xe1e34, ret 0
> kworker/11:7-1506 [011] .... 122.982136: vmbus_establish_gpadl_body: sending msgnumber 0, gpadl 0xe1e34, ret 0
> kworker/11:7-1506 [011] .... 122.982137: vmbus_establish_gpadl_body: sending msgnumber 0, gpadl 0xe1e34, ret 0
> kworker/11:7-1506 [011] .... 122.982139: vmbus_establish_gpadl_body: sending msgnumber 0, gpadl 0xe1e34, ret 0
> kworker/11:7-1506 [011] .... 122.982141: vmbus_establish_gpadl_body: sending msgnumber 0, gpadl 0xe1e34, ret 0
> kworker/11:7-1506 [011] .... 122.982142: vmbus_establish_gpadl_body: sending msgnumber 0, gpadl 0xe1e34, ret 0
> kworker/11:7-1506 [011] .... 122.982144: vmbus_establish_gpadl_body: sending msgnumber 0, gpadl 0xe1e34, ret 0
> kworker/11:7-1506 [011] .... 122.982146: vmbus_establish_gpadl_body: sending msgnumber 0, gpadl 0xe1e34, ret 0
> kworker/11:7-1506 [011] .... 122.982148: vmbus_establish_gpadl_body: sending msgnumber 0, gpadl 0xe1e34, ret 0
> <idle>-0 [011] ..s. 122.982336: vmbus_on_msg_dpc: msgtype=10
> <idle>-0 [011] ..s. 122.982337: vmbus_ongpadl_created: child_relid 0x10, gpadl 0xe1e34, creation_status 0
> kworker/11:7-1506 [011] .... 122.982351: vmbus_open: sending child_relid 0x10, openid 16, gpadlhandle 0xe1e34, target_vp 0xb, offset 0x80, ret 0
> kworker/3:1-214 [003] .... 123.015007: vmbus_setevent: relid 0x5
> <idle>-0 [011] ..s. 123.029467: vmbus_on_msg_dpc: msgtype=6
> <idle>-0 [011] ..s. 123.029470: vmbus_onopen_result: child_relid 0x10, openid 16, status 0
> kworker/11:7-1506 [011] .... 123.029492: vmbus_setevent: relid 0x10
> <idle>-0 [011] d.h. 123.029533: vmbus_chan_sched: relid 0x10
> kworker/11:7-1506 [011] .... 123.029539: vmbus_setevent: relid 0x10
>
> CHANNELMSG_UNLOAD/CHANNELMSG_UNLOAD_RESPONSE are not traced as these are
> mostly used on crash.
>
> Vitaly Kuznetsov (17):
> 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()
> hyper-v: trace channel events
>
> drivers/hv/Makefile | 4 +-
> drivers/hv/channel.c | 21 ++-
> drivers/hv/channel_mgmt.c | 26 +++-
> drivers/hv/connection.c | 5 +
> drivers/hv/hv_trace.c | 4 +
> drivers/hv/hv_trace.h | 327 ++++++++++++++++++++++++++++++++++++++++++++++
> drivers/hv/hyperv_vmbus.h | 2 +
> drivers/hv/vmbus_drv.c | 4 +
> 8 files changed, 388 insertions(+), 5 deletions(-)
> create mode 100644 drivers/hv/hv_trace.c
> create mode 100644 drivers/hv/hv_trace.h
>
Looks good.
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
prev parent reply other threads:[~2017-10-05 15:49 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-05 14:50 [PATCH v3 00/17] Hyper-V: add tracing to VMBus module and trace messages/events Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 01/17] hyper-v: trace vmbus_on_msg_dpc() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 02/17] hyper-v: trace vmbus_on_message() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 03/17] hyper-v: trace vmbus_onoffer() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 04/17] hyper-v: trace vmbus_onoffer_rescind() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 05/17] hyper-v: trace vmbus_onopen_result() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 06/17] hyper-v: trace vmbus_ongpadl_created() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 07/17] hyper-v: trace vmbus_ongpadl_torndown() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 08/17] hyper-v: trace vmbus_onversion_response() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 09/17] hyper-v: trace vmbus_request_offers() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 10/17] hyper-v: trace vmbus_open() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 11/17] hyper-v: trace vmbus_close_internal() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 12/17] hyper-v: trace vmbus_establish_gpadl() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 13/17] hyper-v: trace vmbus_teardown_gpadl() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 14/17] hyper-v: trace vmbus_negotiate_version() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 15/17] hyper-v: trace vmbus_release_relid() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 16/17] hyper-v: trace vmbus_send_tl_connect_request() Vitaly Kuznetsov
2017-10-05 14:50 ` [PATCH v3 17/17] hyper-v: trace channel events Vitaly Kuznetsov
2017-10-05 15:49 ` Stephen Hemminger [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171005084930.17563afd@xeon-e3 \
--to=stephen@networkplumber.org \
--cc=devel@linuxdriverproject.org \
--cc=haiyangz@microsoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=sthemmin@microsoft.com \
--cc=vkuznets@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox