mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
VMX: sync VM-exit perf counters with known VM-exit reasons
This has gone out of sync over time. Introduce a simplistic mechanism to hopefully keep things in sync going forward. Also limit the array index to just the "basic exit reason" part, which is what the pseudo-enumeration covers. Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com>
This commit is contained in:
1 parent
21170a738c
commit
c5539e6e7b
3 files changed
+3
-2
No files matched your search
@@ -3928,7 +3928,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
|
||||
else
|
||||
HVMTRACE_ND(VMEXIT, 0, 1/*cycles*/, exit_reason, regs->eip);
|
||||
|
||||
perfc_incra(vmexits, exit_reason);
|
||||
perfc_incra(vmexits, (uint16_t)exit_reason);
|
||||
|
||||
/* Handle the interrupt we missed before allowing any more in. */
|
||||
switch ( (uint16_t)exit_reason )
|
||||
|
||||
@@ -219,6 +219,7 @@ static inline void pi_clear_sn(struct pi_desc *pi_desc)
|
||||
#define EXIT_REASON_PML_FULL 62
|
||||
#define EXIT_REASON_XSAVES 63
|
||||
#define EXIT_REASON_XRSTORS 64
|
||||
/* Remember to also update VMX_PERF_EXIT_REASON_SIZE! */
|
||||
|
||||
/*
|
||||
* Interruption-information format
|
||||
|
||||
@@ -6,7 +6,7 @@ PERFCOUNTER_ARRAY(exceptions, "exceptions", 32)
|
||||
|
||||
#ifdef CONFIG_HVM
|
||||
|
||||
#define VMX_PERF_EXIT_REASON_SIZE 56
|
||||
#define VMX_PERF_EXIT_REASON_SIZE 65
|
||||
#define VMX_PERF_VECTOR_SIZE 0x20
|
||||
PERFCOUNTER_ARRAY(vmexits, "vmexits", VMX_PERF_EXIT_REASON_SIZE)
|
||||
PERFCOUNTER_ARRAY(cause_vector, "cause vector", VMX_PERF_VECTOR_SIZE)
|
||||
|
||||