From: kys@exchange.microsoft.com
To: gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
devel@linuxdriverproject.org, olaf@aepfle.de, apw@canonical.com,
vkuznets@redhat.com, jasowang@redhat.com,
leann.ogasawara@canonical.com, marcelo.cerri@canonical.com,
sthemmin@microsoft.com
Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Subject: [PATCH 00/17] Drivers: hv: vmbus: Add tracing to VMBus
Date: Sun, 29 Oct 2017 12:20:30 -0700 [thread overview]
Message-ID: <20171029192030.12356-1-kys@exchange.microsoft.com> (raw)
From: "K. Y. Srinivasan" <kys@microsoft.com>
Reply-To: kys@microsoft.com
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
--
2.14.1
next reply other threads:[~2017-10-29 19:21 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-29 19:20 kys [this message]
2017-10-29 19:21 ` [PATCH 01/17] hyper-v: trace vmbus_on_msg_dpc() kys
2017-10-29 19:21 ` [PATCH 02/17] hyper-v: trace vmbus_on_message() kys
2017-10-29 19:21 ` [PATCH 03/17] hyper-v: trace vmbus_onoffer() kys
2017-10-29 19:21 ` [PATCH 04/17] hyper-v: trace vmbus_onoffer_rescind() kys
2017-10-29 19:21 ` [PATCH 05/17] hyper-v: trace vmbus_onopen_result() kys
2017-10-29 19:21 ` [PATCH 06/17] hyper-v: trace vmbus_ongpadl_created() kys
2017-10-29 19:21 ` [PATCH 07/17] hyper-v: trace vmbus_ongpadl_torndown() kys
2017-10-29 19:21 ` [PATCH 08/17] hyper-v: trace vmbus_onversion_response() kys
2017-10-29 19:21 ` [PATCH 09/17] hyper-v: trace vmbus_request_offers() kys
2017-10-29 19:21 ` [PATCH 10/17] hyper-v: trace vmbus_open() kys
2017-10-29 20:59 ` Greg KH
2017-10-30 8:16 ` Vitaly Kuznetsov
2017-10-30 8:45 ` Greg KH
2017-10-30 10:07 ` Vitaly Kuznetsov
2017-10-30 10:32 ` Greg KH
2017-10-30 14:31 ` Steven Rostedt
2017-10-31 12:48 ` Greg KH
2017-10-31 13:10 ` Steven Rostedt
2017-11-01 17:43 ` KY Srinivasan
2017-11-04 11:05 ` Greg KH
2017-11-04 15:09 ` KY Srinivasan
2017-10-31 17:41 ` Stephen Hemminger
2017-10-29 19:21 ` [PATCH 11/17] hyper-v: trace vmbus_close_internal() kys
2017-10-29 19:21 ` [PATCH 12/17] hyper-v: trace vmbus_establish_gpadl() kys
2017-10-29 19:21 ` [PATCH 13/17] hyper-v: trace vmbus_teardown_gpadl() kys
2017-10-29 19:21 ` [PATCH 14/17] hyper-v: trace vmbus_negotiate_version() kys
2017-10-29 19:21 ` [PATCH 15/17] hyper-v: trace vmbus_release_relid() kys
2017-10-29 19:21 ` [PATCH 16/17] hyper-v: trace vmbus_send_tl_connect_request() kys
2017-10-29 19:21 ` [PATCH 17/17] hyper-v: trace channel events kys
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=20171029192030.12356-1-kys@exchange.microsoft.com \
--to=kys@exchange.microsoft.com \
--cc=apw@canonical.com \
--cc=devel@linuxdriverproject.org \
--cc=gregkh@linuxfoundation.org \
--cc=jasowang@redhat.com \
--cc=kys@microsoft.com \
--cc=leann.ogasawara@canonical.com \
--cc=linux-kernel@vger.kernel.org \
--cc=marcelo.cerri@canonical.com \
--cc=olaf@aepfle.de \
--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
Powered by JetHome