x86/kvm/svm: Add hardirq tracing on guest enter/exit
authorThomas Gleixner <tglx@linutronix.de>
Wed, 8 Jul 2020 19:51:56 +0000 (21:51 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 9 Jul 2020 11:08:39 +0000 (07:08 -0400)
commit9fc975e9efd03e57c9599e0fc07c8b264ad8d5b2
tree62a5b36f4ca61df1470a477c8c28a4895f6cb69b
parent0642391e2139a2c1b8a33f3fd816488d3f371d90
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>
arch/x86/kvm/svm/svm.c