Message ID | 1560330526-15468-2-git-send-email-yuzenghui@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | perf kvm: Add stat support on arm64 | expand |
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), >
Hi James, On 2019/6/12 20:48, James Morse wrote: > 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 for the reminder. It turned out that I knew little about the tracepoint ABI :( . I'm OK to just drop this patch in next version. Thanks, zenghui .
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),
In current KVM/ARM code, no one will invoke trace_kvm_mmio_emulate(). Remove this TRACE_EVENT definition. Cc: Christoffer Dall <christoffer.dall@arm.com> Cc: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Zenghui Yu <yuzenghui@huawei.com> --- virt/kvm/arm/trace.h | 21 --------------------- 1 file changed, 21 deletions(-)