]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/x86/kvm/trace.h
kvm: do not handle APIC access page if in-kernel irqchip is not in use
[karo-tx-linux.git] / arch / x86 / kvm / trace.h
index 33574c95220d1a0632c738eed1ab7a1b0679b6f3..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,
@@ -721,10 +718,10 @@ TRACE_EVENT(kvm_emulate_insn,
                ),
 
        TP_fast_assign(
-               __entry->rip = vcpu->arch.emulate_ctxt.fetch.start;
                __entry->csbase = kvm_x86_ops->get_segment_base(vcpu, VCPU_SREG_CS);
-               __entry->len = vcpu->arch.emulate_ctxt._eip
-                              - vcpu->arch.emulate_ctxt.fetch.start;
+               __entry->len = vcpu->arch.emulate_ctxt.fetch.ptr
+                              - vcpu->arch.emulate_ctxt.fetch.data;
+               __entry->rip = vcpu->arch.emulate_ctxt._eip - __entry->len;
                memcpy(__entry->insn,
                       vcpu->arch.emulate_ctxt.fetch.data,
                       15);
@@ -850,6 +847,36 @@ TRACE_EVENT(kvm_track_tsc,
 
 #endif /* CONFIG_X86_64 */
 
+TRACE_EVENT(kvm_ple_window,
+       TP_PROTO(bool grow, unsigned int vcpu_id, int new, int old),
+       TP_ARGS(grow, vcpu_id, new, old),
+
+       TP_STRUCT__entry(
+               __field(                bool,      grow         )
+               __field(        unsigned int,   vcpu_id         )
+               __field(                 int,       new         )
+               __field(                 int,       old         )
+       ),
+
+       TP_fast_assign(
+               __entry->grow           = grow;
+               __entry->vcpu_id        = vcpu_id;
+               __entry->new            = new;
+               __entry->old            = old;
+       ),
+
+       TP_printk("vcpu %u: ple_window %d (%s %d)",
+                 __entry->vcpu_id,
+                 __entry->new,
+                 __entry->grow ? "grow" : "shrink",
+                 __entry->old)
+);
+
+#define trace_kvm_ple_window_grow(vcpu_id, new, old) \
+       trace_kvm_ple_window(true, vcpu_id, new, old)
+#define trace_kvm_ple_window_shrink(vcpu_id, new, old) \
+       trace_kvm_ple_window(false, vcpu_id, new, old)
+
 #endif /* _TRACE_KVM_H */
 
 #undef TRACE_INCLUDE_PATH