mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-20 11:13:58 +08:00
KVM: Add statistics for guest irq injections
These can help show whether a guest is making progress or not. Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
parent
d40a1ee485
commit
fa89a81766
@ -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);
|
KVMTRACE_1D(INJ_VIRQ, &svm->vcpu, (u32)irq, handler);
|
||||||
|
|
||||||
|
++svm->vcpu.stat.irq_injections;
|
||||||
control = &svm->vmcb->control;
|
control = &svm->vmcb->control;
|
||||||
control->int_vector = irq;
|
control->int_vector = irq;
|
||||||
control->int_ctl &= ~V_INTR_PRIO_MASK;
|
control->int_ctl &= ~V_INTR_PRIO_MASK;
|
||||||
|
@ -2341,6 +2341,7 @@ static void vmx_inject_irq(struct kvm_vcpu *vcpu, int irq)
|
|||||||
|
|
||||||
KVMTRACE_1D(INJ_VIRQ, vcpu, (u32)irq, handler);
|
KVMTRACE_1D(INJ_VIRQ, vcpu, (u32)irq, handler);
|
||||||
|
|
||||||
|
++vcpu->stat.irq_injections;
|
||||||
if (vcpu->arch.rmode.active) {
|
if (vcpu->arch.rmode.active) {
|
||||||
vmx->rmode.irq.pending = true;
|
vmx->rmode.irq.pending = true;
|
||||||
vmx->rmode.irq.vector = irq;
|
vmx->rmode.irq.vector = irq;
|
||||||
|
@ -92,6 +92,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = {
|
|||||||
{ "fpu_reload", VCPU_STAT(fpu_reload) },
|
{ "fpu_reload", VCPU_STAT(fpu_reload) },
|
||||||
{ "insn_emulation", VCPU_STAT(insn_emulation) },
|
{ "insn_emulation", VCPU_STAT(insn_emulation) },
|
||||||
{ "insn_emulation_fail", VCPU_STAT(insn_emulation_fail) },
|
{ "insn_emulation_fail", VCPU_STAT(insn_emulation_fail) },
|
||||||
|
{ "irq_injections", VCPU_STAT(irq_injections) },
|
||||||
{ "mmu_shadow_zapped", VM_STAT(mmu_shadow_zapped) },
|
{ "mmu_shadow_zapped", VM_STAT(mmu_shadow_zapped) },
|
||||||
{ "mmu_pte_write", VM_STAT(mmu_pte_write) },
|
{ "mmu_pte_write", VM_STAT(mmu_pte_write) },
|
||||||
{ "mmu_pte_updated", VM_STAT(mmu_pte_updated) },
|
{ "mmu_pte_updated", VM_STAT(mmu_pte_updated) },
|
||||||
|
@ -413,6 +413,7 @@ struct kvm_vcpu_stat {
|
|||||||
u32 insn_emulation;
|
u32 insn_emulation;
|
||||||
u32 insn_emulation_fail;
|
u32 insn_emulation_fail;
|
||||||
u32 hypercalls;
|
u32 hypercalls;
|
||||||
|
u32 irq_injections;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct descriptor_table {
|
struct descriptor_table {
|
||||||
|
Loading…
Reference in New Issue
Block a user