aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxl/libxl_utils.h
diff options
context:
space:
mode:
authorDario Faggioli <dario.faggioli@citrix.com>2012-01-27 19:17:03 +0000
committerDario Faggioli <dario.faggioli@citrix.com>2012-01-27 19:17:03 +0000
commitc1cdf27925e1bfebf16fe33000509cce5e115df5 (patch)
tree819d724a000ed3817659ae602e18f4bc655c13ec /tools/libxl/libxl_utils.h
parent3290f842f7cefdd9d0d43271025d1d945d5e8529 (diff)
downloadxen-c1cdf27925e1bfebf16fe33000509cce5e115df5.tar.gz
xen-c1cdf27925e1bfebf16fe33000509cce5e115df5.tar.bz2
xen-c1cdf27925e1bfebf16fe33000509cce5e115df5.zip
libxl: allow for specifying the CPU affinity in the config file.
Enable CPU affinity specification in a VM's config file with the exact syntax `xl vcpu-pin' provides. Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/libxl/libxl_utils.h')
-rw-r--r--tools/libxl/libxl_utils.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/libxl/libxl_utils.h b/tools/libxl/libxl_utils.h
index 19ad357d37..845c9925e0 100644
--- a/tools/libxl/libxl_utils.h
+++ b/tools/libxl/libxl_utils.h
@@ -70,6 +70,18 @@ int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
int libxl_cpumap_test(libxl_cpumap *cpumap, int cpu);
void libxl_cpumap_set(libxl_cpumap *cpumap, int cpu);
void libxl_cpumap_reset(libxl_cpumap *cpumap, int cpu);
+static inline void libxl_cpumap_set_any(libxl_cpumap *cpumap)
+{
+ memset(cpumap->map, -1, cpumap->size);
+}
+static inline void libxl_cpumap_set_none(libxl_cpumap *cpumap)
+{
+ memset(cpumap->map, 0, cpumap->size);
+}
+static inline int libxl_cpumap_cpu_valid(libxl_cpumap *cpumap, int cpu)
+{
+ return cpu >= 0 && cpu < (cpumap->size * 8);
+}
#define libxl_for_each_cpu(var, map) for (var = 0; var < (map).size * 8; var++)
#define libxl_for_each_set_cpu(v, m) for (v = 0; v < (m).size * 8; v++) \
if (libxl_cpumap_test(&(m), v))