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

Re: [Xen-devel] [Minios-devel] [PATCH v4 0/<VARIOUS>] Begin to disentangle libxenctrl and provide some stable libraries

On Thu, 2015-11-19 at 16:20 +0000, Stefano Stabellini wrote:

I'll just answer this bit, since it ties into your other answers, I think.

> Does the Xen<->libxc interface need to be stable for libxendevicemodel
> to have a stable ABI?

We could:

1) support multiple versions of Xen in a single library binary by detecting
the Xen version and dispatch the right kind of domctl with the right ABI


2) provide multiple copies of libxendevicemodel.so.1 (the SONAME of the
library), one per Xen release and require that the distro's scripting to
arrange on boot that the dynamic linker finds the right one for the version
of Xen you are actually running under right now.

Neither of them are as easy as just having the Xen<->libxc interface in
question be stable.

Also, consider a distro package, typically the qemu package would depend on
libxendevicemodel.so.1 (in some way or another), but actually the
dependency would be on a version of libxendevicemodel.so associated with a
version of Xen >= the running version (i.e. libxendevicemodel from 4.7
obviously won't know about the ABI of 4.8).

We don't want to change the SONAME, since that defeats the purpose of
having a stable ABI.

Remember that the distro may have built qemu against the libxendevicemodel
from 4.7 but end up running it on 4.8 and that users may, for various
reasons only do partial upgrades of userspace stuff like QEMU.

> I think that libxendevicemodel could be stable, no matter what hypercall
> is eventually called underneath. Am I missing something?

It's possible but there are downsides and its not as simple as all that.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.