Re: [Qemu-devel] [PATCH] KVM: Add wrapper script around QEMU to test kernels

Vince Weaver
2011-11-07T17:13:55Z

On Mon, 7 Nov 2011, Pekka Enberg wrote:

> I've never heard ABI incompatibility used as an argument for perf. Ingo?

Never overtly. They're too clever for that.

In any case, as a primary developer of a library (PAPI) that uses the
perf_events ABI I have to say that having perf in the kernel has been a
*major* pain for us.

Unlike the perf developers, we *do* have to maintain backwards
compatability. And we have a lot of nasty code in PAPI to handle this.
Entirely because the perf_events ABI is not stable. It's mostly stable,
but there are enough regressions to be a pain.

It's problem enough that there's no way to know what version of the
perf_event abi you are running against and we have to guess based on
kernel version. This gets "fun" because all of the vendors have
backported seemingly random chunks of perf_event code to their older
kernels.

And it often does seem as the perf developers don't care when something
breaks in perf_events if it doesn't affect perf users.

For example, the new NMI watchdog severely breaks perf_event event
allocation if you are using FORMAT_GROUP. perf doesn't use this though,
so none of the kernel developers seem to care. And unless I can quickly
come up with a patch as an outsider, a few kernel versions will go by and
the kernel devs will declare "well it was broken so long, now we don't
have to fix it". Fun.

Vince