linux/arch/x86/kvm
Thomas Gleixner 9fc975e9ef x86/kvm/svm: Add hardirq tracing on guest enter/exit
Entering guest mode is more or less the same as returning to user
space. From an instrumentation point of view both leave kernel mode and the
transition to guest or user mode reenables interrupts on the host. In user
mode an interrupt is served directly and in guest mode it causes a VM exit
which then handles or reinjects the interrupt.

The transition from guest mode or user mode to kernel mode disables
interrupts, which needs to be recorded in instrumentation to set the
correct state again.

This is important for e.g. latency analysis because otherwise the execution
time in guest or user mode would be wrongly accounted as interrupt disabled
and could trigger false positives.

Add hardirq tracing to guest enter/exit functions in the same way as it
is done in the user mode enter/exit code, respecting the RCU requirements.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>

Message-Id: <20200708195321.934715094@linutronix.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-07-09 07:08:39 -04:00
..
mmu KVM: x86: take as_id into account when checking PGD 2020-07-09 07:08:37 -04:00
svm x86/kvm/svm: Add hardirq tracing on guest enter/exit 2020-07-09 07:08:39 -04:00
vmx x86/kvm/vmx: Add hardirq tracing to guest enter/exit 2020-07-09 07:08:39 -04:00
cpuid.c KVM: x86: Move kvm_x86_ops.vcpu_after_set_cpuid() into kvm_vcpu_after_set_cpuid() 2020-07-09 07:08:25 -04:00
cpuid.h KVM: x86: Extract kvm_update_cpuid_runtime() from kvm_update_cpuid() 2020-07-09 06:53:49 -04:00
debugfs.c
emulate.c
hyperv.c
hyperv.h
i8254.c kvm: i8254: remove redundant assignment to pointer s 2020-06-11 12:35:18 -04:00
i8254.h
i8259.c
ioapic.c
ioapic.h
irq.c
irq.h
irq_comm.c
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
kvm_cache_regs.h KVM: x86: Mark CR4.TSD as being possibly owned by the guest 2020-07-03 12:16:28 -04:00
kvm_emulate.h
lapic.c KVM: x86: Extract kvm_update_cpuid_runtime() from kvm_update_cpuid() 2020-07-09 06:53:49 -04:00
lapic.h
Makefile
mmu.h KVM: x86/mmu: Add MMU-internal header 2020-07-08 16:21:54 -04:00
mtrr.c
pmu.c KVM/x86: pmu: Fix #GP condition check for RDPMC emulation 2020-07-09 07:08:37 -04:00
pmu.h kvm: x86: limit the maximum number of vPMU fixed counters to 3 2020-07-08 16:21:59 -04:00
trace.h
tss.h
x86.c x86/kvm: Move context tracking where it belongs 2020-07-09 07:08:38 -04:00
x86.h kvm: x86: replace kvm_spec_ctrl_test_value with runtime test on the host 2020-07-09 07:08:38 -04:00