Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa89a817 authored by Avi Kivity's avatar Avi Kivity
Browse files

KVM: Add statistics for guest irq injections



These can help show whether a guest is making progress or not.

Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
parent d40a1ee4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1519,6 +1519,7 @@ static inline void svm_inject_irq(struct vcpu_svm *svm, int irq)

	KVMTRACE_1D(INJ_VIRQ, &svm->vcpu, (u32)irq, handler);

	++svm->vcpu.stat.irq_injections;
	control = &svm->vmcb->control;
	control->int_vector = irq;
	control->int_ctl &= ~V_INTR_PRIO_MASK;
+1 −0
Original line number Diff line number Diff line
@@ -2341,6 +2341,7 @@ static void vmx_inject_irq(struct kvm_vcpu *vcpu, int irq)

	KVMTRACE_1D(INJ_VIRQ, vcpu, (u32)irq, handler);

	++vcpu->stat.irq_injections;
	if (vcpu->arch.rmode.active) {
		vmx->rmode.irq.pending = true;
		vmx->rmode.irq.vector = irq;
+1 −0
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = {
	{ "fpu_reload", VCPU_STAT(fpu_reload) },
	{ "insn_emulation", VCPU_STAT(insn_emulation) },
	{ "insn_emulation_fail", VCPU_STAT(insn_emulation_fail) },
	{ "irq_injections", VCPU_STAT(irq_injections) },
	{ "mmu_shadow_zapped", VM_STAT(mmu_shadow_zapped) },
	{ "mmu_pte_write", VM_STAT(mmu_pte_write) },
	{ "mmu_pte_updated", VM_STAT(mmu_pte_updated) },
+1 −0
Original line number Diff line number Diff line
@@ -413,6 +413,7 @@ struct kvm_vcpu_stat {
	u32 insn_emulation;
	u32 insn_emulation_fail;
	u32 hypercalls;
	u32 irq_injections;
};

struct descriptor_table {