Add Hyper-V tracing subsystem and trace hyperv_mmu_flush_tlb_others(). Tracing is done the same way we do xen_mmu_flush_tlb_others(). Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Reviewed-by: Stephen Hemminger <sthemmin@microsoft.com> Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: Haiyang Zhang <haiyangz@microsoft.com> Cc: Jork Loeser <Jork.Loeser@microsoft.com> Cc: K. Y. Srinivasan <kys@microsoft.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Simon Xiao <sixiao@microsoft.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: devel@linuxdriverproject.org Link: http://lkml.kernel.org/r/20170802160921.21791-10-vkuznets@redhat.com Signed-off-by: Ingo Molnar <mingo@kernel.org>tirimbino
parent
628f54cc64
commit
773b79f7a7
@ -0,0 +1,40 @@ |
||||
#undef TRACE_SYSTEM |
||||
#define TRACE_SYSTEM hyperv |
||||
|
||||
#if !defined(_TRACE_HYPERV_H) || defined(TRACE_HEADER_MULTI_READ) |
||||
#define _TRACE_HYPERV_H |
||||
|
||||
#include <linux/tracepoint.h> |
||||
|
||||
#if IS_ENABLED(CONFIG_HYPERV) |
||||
|
||||
TRACE_EVENT(hyperv_mmu_flush_tlb_others, |
||||
TP_PROTO(const struct cpumask *cpus, |
||||
const struct flush_tlb_info *info), |
||||
TP_ARGS(cpus, info), |
||||
TP_STRUCT__entry( |
||||
__field(unsigned int, ncpus) |
||||
__field(struct mm_struct *, mm) |
||||
__field(unsigned long, addr) |
||||
__field(unsigned long, end) |
||||
), |
||||
TP_fast_assign(__entry->ncpus = cpumask_weight(cpus); |
||||
__entry->mm = info->mm; |
||||
__entry->addr = info->start; |
||||
__entry->end = info->end; |
||||
), |
||||
TP_printk("ncpus %d mm %p addr %lx, end %lx", |
||||
__entry->ncpus, __entry->mm, |
||||
__entry->addr, __entry->end) |
||||
); |
||||
|
||||
#endif /* CONFIG_HYPERV */ |
||||
|
||||
#undef TRACE_INCLUDE_PATH |
||||
#define TRACE_INCLUDE_PATH asm/trace/ |
||||
#undef TRACE_INCLUDE_FILE |
||||
#define TRACE_INCLUDE_FILE hyperv |
||||
#endif /* _TRACE_HYPERV_H */ |
||||
|
||||
/* This part must be outside protection */ |
||||
#include <trace/define_trace.h> |
Loading…
Reference in new issue