aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxl/libxl.h
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2012-06-01 12:06:20 +0100
committerIan Campbell <ian.campbell@citrix.com>2012-06-01 12:06:20 +0100
commit6d45f5d903b673d600b7c2f26b19bd29000261c4 (patch)
tree62bf956549d4065c87da30bcfc57ee6ef8047f75 /tools/libxl/libxl.h
parent33a1df8e769b9a23126e3a02e6e8078f0b85bbf8 (diff)
downloadxen-6d45f5d903b673d600b7c2f26b19bd29000261c4.tar.gz
xen-6d45f5d903b673d600b7c2f26b19bd29000261c4.tar.bz2
xen-6d45f5d903b673d600b7c2f26b19bd29000261c4.zip
libxl: make it possible to explicitly specify default sched params
To do so we define a discriminating value which is never a valid real value for each parameter. While there: - removed libxl_sched_*_domain in favour of libxl_domain_sched_params. - use this new functionality for the various xl commands which set sched parameters, which saves an explicit read-modify-write in xl. - removed call of xc_domain_getinfolist from a few functions which weren't actually using the result (looks like a cut and paste error) - fix xl which was setting period for a variety of different config keys. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: George Dunlap <george.dunlap@eu.citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'tools/libxl/libxl.h')
-rw-r--r--tools/libxl/libxl.h28
1 files changed, 19 insertions, 9 deletions
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 1e1ffa121c..78fb5afc1a 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -768,23 +768,33 @@ int libxl_set_vcpuonline(libxl_ctx *ctx, uint32_t domid, libxl_cpumap *cpumap);
libxl_scheduler libxl_get_scheduler(libxl_ctx *ctx);
-
-int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
- libxl_sched_credit_domain *scinfo);
-int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
- libxl_sched_credit_domain *scinfo);
+/* Per-scheduler parameters */
int libxl_sched_credit_params_get(libxl_ctx *ctx, uint32_t poolid,
libxl_sched_credit_params *scinfo);
int libxl_sched_credit_params_set(libxl_ctx *ctx, uint32_t poolid,
libxl_sched_credit_params *scinfo);
+
+/* Scheduler Per-domain parameters */
+
+#define LIBXL_DOMAIN_SCHED_PARAM_WEIGHT_DEFAULT -1
+#define LIBXL_DOMAIN_SCHED_PARAM_CAP_DEFAULT -1
+#define LIBXL_DOMAIN_SCHED_PARAM_PERIOD_DEFAULT -1
+#define LIBXL_DOMAIN_SCHED_PARAM_SLICE_DEFAULT -1
+#define LIBXL_DOMAIN_SCHED_PARAM_LATENCY_DEFAULT -1
+#define LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT -1
+
+int libxl_sched_credit_domain_get(libxl_ctx *ctx, uint32_t domid,
+ libxl_domain_sched_params *scinfo);
+int libxl_sched_credit_domain_set(libxl_ctx *ctx, uint32_t domid,
+ libxl_domain_sched_params *scinfo);
int libxl_sched_credit2_domain_get(libxl_ctx *ctx, uint32_t domid,
- libxl_sched_credit2_domain *scinfo);
+ libxl_domain_sched_params *scinfo);
int libxl_sched_credit2_domain_set(libxl_ctx *ctx, uint32_t domid,
- libxl_sched_credit2_domain *scinfo);
+ libxl_domain_sched_params *scinfo);
int libxl_sched_sedf_domain_get(libxl_ctx *ctx, uint32_t domid,
- libxl_sched_sedf_domain *scinfo);
+ libxl_domain_sched_params *scinfo);
int libxl_sched_sedf_domain_set(libxl_ctx *ctx, uint32_t domid,
- libxl_sched_sedf_domain *scinfo);
+ libxl_domain_sched_params *scinfo);
int libxl_send_trigger(libxl_ctx *ctx, uint32_t domid,
libxl_trigger trigger, uint32_t vcpuid);
int libxl_send_sysrq(libxl_ctx *ctx, uint32_t domid, char sysrq);