Commit 9fb2d2b4ff292a01ae30da003d1dc097917b0988

Authored by Gleb Natapov
Committed by Avi Kivity
1 parent f78978aa3a

KVM: SVM: correctly trace irq injection

On SVM interrupts are injected by svm_set_irq() not svm_inject_irq().
The later is used only to wait for irq window.

Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>

Showing 1 changed file with 3 additions and 3 deletions Side-by-side Diff

... ... @@ -2917,9 +2917,6 @@
2917 2917 {
2918 2918 struct vmcb_control_area *control;
2919 2919  
2920   - trace_kvm_inj_virq(irq);
2921   -
2922   - ++svm->vcpu.stat.irq_injections;
2923 2920 control = &svm->vmcb->control;
2924 2921 control->int_vector = irq;
2925 2922 control->int_ctl &= ~V_INTR_PRIO_MASK;
... ... @@ -2932,6 +2929,9 @@
2932 2929 struct vcpu_svm *svm = to_svm(vcpu);
2933 2930  
2934 2931 BUG_ON(!(gif_set(svm)));
  2932 +
  2933 + trace_kvm_inj_virq(vcpu->arch.interrupt.nr);
  2934 + ++vcpu->stat.irq_injections;
2935 2935  
2936 2936 svm->vmcb->control.event_inj = vcpu->arch.interrupt.nr |
2937 2937 SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_INTR;