提交 57b6cfaf 编写于 作者: D Dario Faggioli 提交者: Eric Blake

libxl: don't break the build on Xen>=4.5 because of libxl_vcpu_setaffinity()

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.
Signed-off-by: NDario Faggioli <dario.faggioli@citrix.com>
Cc: Jim Fehlig <jfehlig@suse.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
(cherry picked from commit bfc72e99)
上级 813bee6b
...@@ -52,6 +52,17 @@ ...@@ -52,6 +52,17 @@
# define LIBXL_DUMP_DIR LIBXL_LIB_DIR "/dump" # define LIBXL_DUMP_DIR LIBXL_LIB_DIR "/dump"
# define LIBXL_BOOTLOADER_PATH BINDIR "/pygrub" # 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 struct _libxlDriverPrivate libxlDriverPrivate;
typedef libxlDriverPrivate *libxlDriverPrivatePtr; typedef libxlDriverPrivate *libxlDriverPrivatePtr;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册