[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, 19 Nov 2015, Ian Campbell wrote:
> 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

It doesn't look like we need to go that far, given that we can assume
that libxendevicemodel and the hypervisor are the same version.

> or:
> 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.

Do distros support having multiple different Xen packages installed on
the same system?  That would be where the difficulty comes from. If that
is not a supported use case, then I don't see the problem.

On the other hand if that is supported, then yes, they would also need
to arrange scripts to link the right libxendevicemodel to

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

I think that's fine, as long as the ABI is stable and you only have one
libxendevicemodel.so.1 in your system: the one provided by the running
Xen package.

> 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.
> Ian.

Xen-devel mailing list



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