On 18/03/2016 07:09, Suravee Suthikulpanit wrote: > Introduce trace events for AMD AVIC incomplete IPI vmexit, and > AVIC unaccelerate access vmexit. > > Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx> > --- > arch/x86/kvm/trace.h | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > arch/x86/kvm/x86.c | 2 ++ > 2 files changed, 59 insertions(+) > > diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h > index ad9f6a2..3c85a3d 100644 > --- a/arch/x86/kvm/trace.h > +++ b/arch/x86/kvm/trace.h > @@ -1288,6 +1288,63 @@ TRACE_EVENT(kvm_hv_stimer_cleanup, > __entry->vcpu_id, __entry->timer_index) > ); > > +/* > + * Tracepoint for AMD AVIC > + */ > +TRACE_EVENT(kvm_avic_incomplete_ipi, > + TP_PROTO(u32 vcpu, u32 icrh, u32 icrl, u32 id, u32 index), > + TP_ARGS(vcpu, icrh, icrl, id, index), > + > + TP_STRUCT__entry( > + __field(u32, vcpu) > + __field(u32, icrh) > + __field(u32, icrl) > + __field(u32, id) > + __field(u32, index) > + ), > + > + TP_fast_assign( > + __entry->vcpu = vcpu; > + __entry->icrh = icrh; > + __entry->icrl = icrl; > + __entry->id = id; > + __entry->index = index; > + ), > + > + TP_printk("vcpu=%#x, icrh:icrl=%#010x:%08x, id=%u, index=%u\n", vcpus are usually printed with %u. Apart from this, the patch looks good. You can squash it in "svm: Add VMEXIT handlers for AVIC". Paolo > + __entry->vcpu, __entry->icrh, __entry->icrl, > + __entry->id, __entry->index) > +); > + > +TRACE_EVENT(kvm_avic_unaccelerated_access, > + TP_PROTO(u32 vcpu, u32 offset, bool ft, bool rw, u32 vec), > + TP_ARGS(vcpu, offset, ft, rw, vec), > + > + TP_STRUCT__entry( > + __field(u32, vcpu) > + __field(u32, offset) > + __field(bool, ft) > + __field(bool, rw) > + __field(u32, vec) > + ), > + > + TP_fast_assign( > + __entry->vcpu = vcpu; > + __entry->offset = offset; > + __entry->ft = ft; > + __entry->rw = rw; > + __entry->vec = vec; > + ), > + > + TP_printk("vcpu=%#x, offset=%#x(%s), %s, %s, vec=%#x\n", > + __entry->vcpu, > + __entry->offset, > + __print_symbolic(__entry->offset, kvm_trace_symbol_apic), > + __entry->ft ? "trap" : "fault", > + __entry->rw ? "write" : "read", > + __entry->vec) > +); > + > #endif /* _TRACE_KVM_H */ > > #undef TRACE_INCLUDE_PATH > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index 4d2961d..775de1c 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -8395,3 +8395,5 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_write_tsc_offset); > EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_ple_window); > EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_pml_full); > EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_pi_irte_update); > +EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_avic_unaccelerated_access); > +EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_avic_incomplete_ipi); > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html