hyper-v: trace channel events
Added an additional set of trace points for when channel gets notified or signals host. Suggested-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
98f31a0050
Коммит
991f8f1c6e
|
@ -43,6 +43,8 @@ void vmbus_setevent(struct vmbus_channel *channel)
|
|||
{
|
||||
struct hv_monitor_page *monitorpage;
|
||||
|
||||
trace_vmbus_setevent(channel);
|
||||
|
||||
/*
|
||||
* For channels marked as in "low latency" mode
|
||||
* bypass the monitor page mechanism.
|
||||
|
|
|
@ -322,6 +322,8 @@ void vmbus_on_event(unsigned long data)
|
|||
struct vmbus_channel *channel = (void *) data;
|
||||
unsigned long time_limit = jiffies + 2;
|
||||
|
||||
trace_vmbus_on_event(channel);
|
||||
|
||||
do {
|
||||
void (*callback_fn)(void *);
|
||||
|
||||
|
|
|
@ -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
|
||||
#define TRACE_INCLUDE_PATH .
|
||||
#undef TRACE_INCLUDE_FILE
|
||||
|
|
|
@ -946,6 +946,8 @@ static void vmbus_chan_sched(struct hv_per_cpu_context *hv_cpu)
|
|||
if (channel->rescind)
|
||||
continue;
|
||||
|
||||
trace_vmbus_chan_sched(channel);
|
||||
|
||||
++channel->interrupts;
|
||||
|
||||
switch (channel->callback_mode) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче