From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jim Fehlig Subject: Re: [PATCH] libxl: don't break the build on Xen>=4.5 because of libxl_vcpu_setaffinity() Date: Mon, 30 Jun 2014 15:11:02 -0600 Message-ID: <53B1D266.5070904@suse.com> References: <20140630171856.1453.59964.stgit@Solace> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20140630171856.1453.59964.stgit@Solace> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Dario Faggioli Cc: libvir-list , xen-devel@lists.xensource.com, Ian Jackson , Ian Campbell List-Id: xen-devel@lists.xenproject.org Dario Faggioli wrote: > libxl interface for vcpu pinning is changing in Xen 4.5. Basically, > libxl_set_vcpuaffinity() now wants one more parameter. That is > representative of 'VCPU soft affinity', which libvirt does not use. > > To mark such change, the macro LIBXL_HAVE_VCPUINFO_SOFT_AFFINITY is > defined. Use it as a gate and, if present, re-#define the calls from > the old to the new interface, to avoid breaking the build. > Thanks, looks good. I was about to push, but wanted to check with other libvirt devs first since we are in 1.2.6 freeze. Would it be fine to push this? It fixes a libxl driver build failure against xen-unstable. Regards, Jim > Signed-off-by: Dario Faggioli > Cc: Jim Fehlig > Cc: Ian Campbell > Cc: Ian Jackson > --- > src/libxl/libxl_conf.h | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/src/libxl/libxl_conf.h b/src/libxl/libxl_conf.h > index 6aa36d2..da66b4e 100644 > --- a/src/libxl/libxl_conf.h > +++ b/src/libxl/libxl_conf.h > @@ -55,6 +55,17 @@ > # define LIBXL_DUMP_DIR LIBXL_LIB_DIR "/dump" > # define LIBXL_BOOTLOADER_PATH BINDIR "/pygrub" > > +/* libxl interface for setting VCPU affinity changed in 4.5. In fact, a new > + * parameter has been added, representative of 'VCPU soft affinity'. If one > + * does not care about it (and that's libvirt case), passing NULL is the > + * right thing to do. To mark that change, LIBXL_HAVE_VCPUINFO_SOFT_AFFINITY > + * is defined. */ > +# ifdef LIBXL_HAVE_VCPUINFO_SOFT_AFFINITY > +# define libxl_set_vcpuaffinity(ctx, domid, vcpuid, map) \ > + libxl_set_vcpuaffinity((ctx), (domid), (vcpuid), (map), NULL) > +# define libxl_set_vcpuaffinity_all(ctx, domid, max_vcpus, map) \ > + libxl_set_vcpuaffinity_all((ctx), (domid), (max_vcpus), (map), NULL) > +# endif > > typedef struct _libxlDriverPrivate libxlDriverPrivate; > typedef libxlDriverPrivate *libxlDriverPrivatePtr; > > > >