Re: [PATCH v1 1/5] KVM: arm/arm64: Remove kvm_mmio_emulate tracepoint

From: James Morse
Date: Wed Jun 12 2019 - 08:52:48 EST


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),
>