From: Ian Campbell <ian.campbell@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: wei.liu2@citrix.com, roger.pau@citrix.com,
ian.jackson@eu.citrix.com, stefano.stabellini@eu.citrix.com,
xen-devel@lists.xen.org
Subject: Re: [PATCH RFC tools 5/6] tools: Refactor /dev/xen/evtchn wrappers into libxenevtchn.
Date: Thu, 11 Jun 2015 10:03:12 +0100 [thread overview]
Message-ID: <1434013392.30003.133.camel@citrix.com> (raw)
In-Reply-To: <557870FD.9030007@citrix.com>
On Wed, 2015-06-10 at 18:16 +0100, Andrew Cooper wrote:
> On 10/06/15 12:36, Ian Campbell wrote:
> > libxenevtchn will provide a stable API and ABI for accessing the
> > evtchn device.
> >
> > The functions are moved into the xenevtchn namespace to make a clean
> > break from libxc and avoid ambiguity regarding which interfaces are
> > stable.
> >
> > All in-tree users are updated to use the new names.
> >
> > Upon request (via #define XC_WANT_COMPAT_EVTCHN_API) libxenctrl will
> > provide a compat API for the old names, which is used by qemu-xen for
> > the time being.
> >
> > The dynamic osdep mechanism from libxc is not preserved, the
> > alternative backend (a xen-api/xapi shim) is no longer around. (Nested
> > virt probably suffices for this use case now).
> >
> > This leaves a few event channel related functions which go via privcmd
> > (EVTCHNOP) rather than ioctls on the /dev/xen/evtchn device in
> > libxenctrl. Specifically:
> >
> > - xc_evtchn_alloc_unbound
> > - xc_evtchn_reset
> > - xc_evtchn_status
> >
> > These functions do not appear to be needed by qemu-dm, qemu-pv
> > (provision of device model to HVM guests and PV backends respectively)
> > or by libvchan suggesting they are not needed by non-toolstack uses of
> > event channels. QEMU does use these in hw/xenpv/xen_domainbuild.c but
> > that is a "toolstack use".
> >
> > The new library uses a version script to ensure that only expected
> > symbols are exported and to version them such that ABI guarantees can
> > be kept in the future.
> >
> > Build tested with Linux and mini-os/stubdom, but not FreeBSD, NetBSD
> > or Solaris.
> >
> > Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> > ---
> >
> > Must be applied with:
> >
> > - "qemu-xen-traditional: Use libxenevtchn" and a corresponding
> > QEMU_TAG update folded here.
> > - "mini-os: Include libxenevtchn with libxc"" and a corresponding
> > bump to MINIOS_UPSTREAM_REVISION folded in here.
> > ---
>
> As we are taking the hit of updating all in-tree users, and providing a
> compat shim, can we take the opportunity to make amends to the ABI.
Yes, we should in general take the opportunity.
In particular fixing the error reporting behaviour would be a very good
idea...
> For xenevtchn, it is never realistically going to gain logging.
I thought about this but I wasn't sure and at least the Solaris backend
does log (or tries to, who knows if it works!).
> It
> seems like it would be a good idea to ditch all knowledge of xentoollog
> from the new library, as the cost is just dropping one parameter in the
> callsites.
I don't think the overhead of an extra NULL is worth it, and it's
possible something might want to log there in the future.
Ian.
next prev parent reply other threads:[~2015-06-11 9:03 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-10 11:36 [PATCH RFC 0/6+2+2] Begin to disentangle libxenctrl and provide some stable libraries Ian Campbell
2015-06-10 11:36 ` [PATCH RFC tools 1/6] tools: Refactor "xentoollog" into its own library Ian Campbell
2015-06-11 11:20 ` Andrew Cooper
2015-06-11 11:35 ` Ian Campbell
2015-06-11 12:06 ` Jan Beulich
2015-06-11 12:21 ` Ian Campbell
2015-09-21 16:17 ` Ian Jackson
2015-09-21 17:03 ` Andrew Cooper
2015-09-21 17:13 ` Ian Jackson
2015-09-21 17:30 ` Andrew Cooper
2015-09-22 8:39 ` Ian Campbell
2015-06-10 11:36 ` [PATCH RFC tools 2/6] tools: Link in-tree libvchan users against libxenvchan.so Ian Campbell
2015-06-10 11:36 ` [PATCH RFC tools 3/6] tools: Do not add top-level tools dir to include path Ian Campbell
2015-06-10 11:36 ` [PATCH RFC tools 4/6] tools/libxc: Remove osdep indirection for xc_evtchn Ian Campbell
2015-06-10 11:36 ` [PATCH RFC tools 5/6] tools: Refactor /dev/xen/evtchn wrappers into libxenevtchn Ian Campbell
2015-06-10 16:29 ` David Vrabel
2015-06-11 8:58 ` Ian Campbell
2015-06-10 17:16 ` Andrew Cooper
2015-06-11 9:03 ` Ian Campbell [this message]
2015-06-10 11:36 ` [PATCH RFC tools 6/6] Cleanup SHLIBDEPS Ian Campbell
2015-06-10 11:37 ` [PATCH RFC qemu-trad 1/2] qemu-xen-traditional: Use xentoollog as a separate library Ian Campbell
2015-06-10 15:57 ` Ian Jackson
2015-06-11 8:59 ` Ian Campbell
2015-06-10 11:37 ` [PATCH RFC qemu-trad 2/2] qemu-xen-traditional: Use libxenevtchn Ian Campbell
2015-06-10 11:37 ` [PATCH RFC mini-os 1/2] mini-os: Include libxentoollog with libxc Ian Campbell
2015-06-10 11:37 ` [PATCH RFC mini-os 2/2] mini-os: Include libxenevtchn " Ian Campbell
2015-06-10 16:01 ` [PATCH RFC 0/6+2+2] Begin to disentangle libxenctrl and provide some stable libraries Ian Jackson
2015-06-10 16:15 ` Wei Liu
2015-06-11 10:01 ` Antti Kantee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1434013392.30003.133.camel@citrix.com \
--to=ian.campbell@citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=roger.pau@citrix.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).