Re: [PATCH v1 3/3] KVM: arm64: Add histogram stats for handling time of arch specific exit reasons

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 23/09/21 09:45, Marc Zyngier wrote:
On Thu, 23 Sep 2021 07:36:21 +0100,
Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:

On 22/09/21 20:53, Marc Zyngier wrote:
I definitely regret adding the current KVM trace points, as they
don't show what I need, and I can't change them as they are ABI.

I disagree that they are ABI.  And even if you don't want to change
them, you can always add parameters or remove them.

We'll have to agree to disagree here. Experience has told me that
anything that gets exposed to userspace has to stay forever. There are
countless examples of that on the arm64 side (cue the bogomips debate,
the recent /proc/interrupts repainting).

Files certainly have the problem that there are countless ways to parse them, most of them wrong. This for example was taken into account when designing the binary stats format, where it's clear that the only fixed format (ABI) is the description of the stats themselves.

However yeah, you're right that what constitutes an API is complicated. Tracepoints and binary stats make it trivial to add stuff (including adding more info in the case of a tracepoint), but removing is tricky.

Another important aspect is whether there are at all any tools using the tracepoints. In the case of the block subsystem there's blktrace, but KVM doesn't have anything fancy (tracing is really only used by humans via trace-cmd, or by kvmstat which doesn't care about which tracepoints are there).

We had that discussion a few KSs ago (triggered by this[1] if I
remember correctly), and I don't think anything has changed since.

As for removing them, that would probably be best for some (if not
most) of them.

I'd say just go ahead. System calls are removed every now and then if they are considered obsolete or a failed experiment. Tracepoints are in the same boat.

Paolo




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux