summaryrefslogtreecommitdiff
path: root/arch/x86/hyperv
diff options
context:
space:
mode:
authorVitaly Kuznetsov <vkuznets@redhat.com>2017-08-02 19:09:21 +0300
committerIngo Molnar <mingo@kernel.org>2017-08-31 15:20:37 +0300
commit773b79f7a7c7839fb9d09c0e206734173a8b0a6b (patch)
tree8545fadd5e189ed000e7097946dd5f1e24af2f12 /arch/x86/hyperv
parent628f54cc6451d2706ba8a56763dbf93be02aaa80 (diff)
downloadlinux-773b79f7a7c7839fb9d09c0e206734173a8b0a6b.tar.xz
tracing/hyper-v: Trace hyperv_mmu_flush_tlb_others()
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>
Diffstat (limited to 'arch/x86/hyperv')
-rw-r--r--arch/x86/hyperv/mmu.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/hyperv/mmu.c b/arch/x86/hyperv/mmu.c
index 51b44be03f50..39e7f6e50919 100644
--- a/arch/x86/hyperv/mmu.c
+++ b/arch/x86/hyperv/mmu.c
@@ -10,6 +10,9 @@
#include <asm/msr.h>
#include <asm/tlbflush.h>
+#define CREATE_TRACE_POINTS
+#include <asm/trace/hyperv.h>
+
/* HvFlushVirtualAddressSpace, HvFlushVirtualAddressList hypercalls */
struct hv_flush_pcpu {
u64 address_space;
@@ -103,6 +106,8 @@ static void hyperv_flush_tlb_others(const struct cpumask *cpus,
u64 status = U64_MAX;
unsigned long flags;
+ trace_hyperv_mmu_flush_tlb_others(cpus, info);
+
if (!pcpu_flush || !hv_hypercall_pg)
goto do_native;
@@ -172,6 +177,8 @@ static void hyperv_flush_tlb_others_ex(const struct cpumask *cpus,
u64 status = U64_MAX;
unsigned long flags;
+ trace_hyperv_mmu_flush_tlb_others(cpus, info);
+
if (!pcpu_flush_ex || !hv_hypercall_pg)
goto do_native;