All of lore.kernel.org
 help / color / mirror / Atom feed
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

             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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.