提交 991f8f1c 编写于 作者: V Vitaly Kuznetsov 提交者: Greg Kroah-Hartman

hyper-v: trace channel events

Added an additional set of trace points for when channel gets notified
or signals host.
Suggested-by: NStephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: NVitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 98f31a00
...@@ -43,6 +43,8 @@ void vmbus_setevent(struct vmbus_channel *channel) ...@@ -43,6 +43,8 @@ void vmbus_setevent(struct vmbus_channel *channel)
{ {
struct hv_monitor_page *monitorpage; struct hv_monitor_page *monitorpage;
trace_vmbus_setevent(channel);
/* /*
* For channels marked as in "low latency" mode * For channels marked as in "low latency" mode
* bypass the monitor page mechanism. * bypass the monitor page mechanism.
......
...@@ -322,6 +322,8 @@ void vmbus_on_event(unsigned long data) ...@@ -322,6 +322,8 @@ void vmbus_on_event(unsigned long data)
struct vmbus_channel *channel = (void *) data; struct vmbus_channel *channel = (void *) data;
unsigned long time_limit = jiffies + 2; unsigned long time_limit = jiffies + 2;
trace_vmbus_on_event(channel);
do { do {
void (*callback_fn)(void *); void (*callback_fn)(void *);
......
...@@ -294,6 +294,29 @@ TRACE_EVENT(vmbus_send_tl_connect_request, ...@@ -294,6 +294,29 @@ TRACE_EVENT(vmbus_send_tl_connect_request,
) )
); );
DECLARE_EVENT_CLASS(vmbus_channel,
TP_PROTO(const struct vmbus_channel *channel),
TP_ARGS(channel),
TP_STRUCT__entry(__field(u32, relid)),
TP_fast_assign(__entry->relid = channel->offermsg.child_relid),
TP_printk("relid 0x%x", __entry->relid)
);
DEFINE_EVENT(vmbus_channel, vmbus_chan_sched,
TP_PROTO(const struct vmbus_channel *channel),
TP_ARGS(channel)
);
DEFINE_EVENT(vmbus_channel, vmbus_setevent,
TP_PROTO(const struct vmbus_channel *channel),
TP_ARGS(channel)
);
DEFINE_EVENT(vmbus_channel, vmbus_on_event,
TP_PROTO(const struct vmbus_channel *channel),
TP_ARGS(channel)
);
#undef TRACE_INCLUDE_PATH #undef TRACE_INCLUDE_PATH
#define TRACE_INCLUDE_PATH . #define TRACE_INCLUDE_PATH .
#undef TRACE_INCLUDE_FILE #undef TRACE_INCLUDE_FILE
......
...@@ -946,6 +946,8 @@ static void vmbus_chan_sched(struct hv_per_cpu_context *hv_cpu) ...@@ -946,6 +946,8 @@ static void vmbus_chan_sched(struct hv_per_cpu_context *hv_cpu)
if (channel->rescind) if (channel->rescind)
continue; continue;
trace_vmbus_chan_sched(channel);
++channel->interrupts; ++channel->interrupts;
switch (channel->callback_mode) { switch (channel->callback_mode) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册