Hi, On 12/06/2019 10:08, Zenghui Yu wrote: > In current KVM/ARM code, no one will invoke trace_kvm_mmio_emulate(). > Remove this TRACE_EVENT definition. Oooer. We can't just go removing these things, they are visible to user-space. I recall an article on this: https://lwn.net/Articles/737530/ "Another attempt to address the tracepoint ABI problem" I agree this is orphaned, it was added by commit 45e96ea6b369 ("KVM: ARM: Handle I/O aborts"), but there never was a caller. The problem with removing it is /sys/kernel/debug/tracing/events/kvm/kvm_mmio_emulate disappears. Any program relying on that being present (but useless) is now broken. Thanks, James > diff --git a/virt/kvm/arm/trace.h b/virt/kvm/arm/trace.h > index 204d210..8b7dff2 100644 > --- a/virt/kvm/arm/trace.h > +++ b/virt/kvm/arm/trace.h > @@ -114,27 +114,6 @@ > __entry->type, __entry->vcpu_idx, __entry->irq_num, __entry->level) > ); > > -TRACE_EVENT(kvm_mmio_emulate, > - TP_PROTO(unsigned long vcpu_pc, unsigned long instr, > - unsigned long cpsr), > - TP_ARGS(vcpu_pc, instr, cpsr), > - > - TP_STRUCT__entry( > - __field( unsigned long, vcpu_pc ) > - __field( unsigned long, instr ) > - __field( unsigned long, cpsr ) > - ), > - > - TP_fast_assign( > - __entry->vcpu_pc = vcpu_pc; > - __entry->instr = instr; > - __entry->cpsr = cpsr; > - ), > - > - TP_printk("Emulate MMIO at: 0x%08lx (instr: %08lx, cpsr: %08lx)", > - __entry->vcpu_pc, __entry->instr, __entry->cpsr) > -); > - > TRACE_EVENT(kvm_unmap_hva_range, > TP_PROTO(unsigned long start, unsigned long end), > TP_ARGS(start, end), >