KVM: x86: make apic_accept_irq tracepoint more generic
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 11 Sep 2014 09:51:02 +0000 (11:51 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 11 Sep 2014 09:51:02 +0000 (11:51 +0200)
Initially the tracepoint was added only to the APIC_DM_FIXED case,
also because it reported coalesced interrupts that only made sense
for that case.  However, the coalesced argument is not used anymore
and tracing other delivery modes is useful, so hoist the call out
of the switch statement.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/lapic.c
arch/x86/kvm/trace.h

index fb919c574e2306926629e565a1ec8a6286fd3b3b..b8345dd41b251e6dd81869709be30303ca2fbacf 100644 (file)
@@ -709,6 +709,8 @@ static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode,
        int result = 0;
        struct kvm_vcpu *vcpu = apic->vcpu;
 
+       trace_kvm_apic_accept_irq(vcpu->vcpu_id, delivery_mode,
+                                 trig_mode, vector);
        switch (delivery_mode) {
        case APIC_DM_LOWEST:
                vcpu->arch.apic_arb_prio++;
@@ -730,8 +732,6 @@ static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode,
                        kvm_make_request(KVM_REQ_EVENT, vcpu);
                        kvm_vcpu_kick(vcpu);
                }
-               trace_kvm_apic_accept_irq(vcpu->vcpu_id, delivery_mode,
-                                         trig_mode, vector, false);
                break;
 
        case APIC_DM_REMRD:
index 4c2868f36808acdd1191363db371a975ddded06c..6b06ab8748dd5ca2657ebf1cb87f039aff8f4c64 100644 (file)
@@ -415,15 +415,14 @@ TRACE_EVENT(kvm_apic_ipi,
 );
 
 TRACE_EVENT(kvm_apic_accept_irq,
-           TP_PROTO(__u32 apicid, __u16 dm, __u8 tm, __u8 vec, bool coalesced),
-           TP_ARGS(apicid, dm, tm, vec, coalesced),
+           TP_PROTO(__u32 apicid, __u16 dm, __u8 tm, __u8 vec),
+           TP_ARGS(apicid, dm, tm, vec),
 
        TP_STRUCT__entry(
                __field(        __u32,          apicid          )
                __field(        __u16,          dm              )
                __field(        __u8,           tm              )
                __field(        __u8,           vec             )
-               __field(        bool,           coalesced       )
        ),
 
        TP_fast_assign(
@@ -431,14 +430,12 @@ TRACE_EVENT(kvm_apic_accept_irq,
                __entry->dm             = dm;
                __entry->tm             = tm;
                __entry->vec            = vec;
-               __entry->coalesced      = coalesced;
        ),
 
-       TP_printk("apicid %x vec %u (%s|%s)%s",
+       TP_printk("apicid %x vec %u (%s|%s)",
                  __entry->apicid, __entry->vec,
                  __print_symbolic((__entry->dm >> 8 & 0x7), kvm_deliver_mode),
-                 __entry->tm ? "level" : "edge",
-                 __entry->coalesced ? " (coalesced)" : "")
+                 __entry->tm ? "level" : "edge")
 );
 
 TRACE_EVENT(kvm_eoi,