aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/xc_csched2.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-04-14 12:10:19 +0100
committerKeir Fraser <keir.fraser@citrix.com>2010-04-14 12:10:19 +0100
commit3ac51fc221171ab2e90334e63145cdcd266b0467 (patch)
treeffb3d8caa411f6b5ea6737632c42bb4f6d1bbbac /tools/libxc/xc_csched2.c
parent0dd76d3d20a503af84637e495924965a4b122033 (diff)
downloadxen-3ac51fc221171ab2e90334e63145cdcd266b0467.tar.gz
xen-3ac51fc221171ab2e90334e63145cdcd266b0467.tar.bz2
xen-3ac51fc221171ab2e90334e63145cdcd266b0467.zip
credit2: Add toolstack options to control credit2 scheduler parameters
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Diffstat (limited to 'tools/libxc/xc_csched2.c')
-rw-r--r--tools/libxc/xc_csched2.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/tools/libxc/xc_csched2.c b/tools/libxc/xc_csched2.c
new file mode 100644
index 0000000000..d25e59a9af
--- /dev/null
+++ b/tools/libxc/xc_csched2.c
@@ -0,0 +1,50 @@
+/****************************************************************************
+ * (C) 2006 - Emmanuel Ackaouy - XenSource Inc.
+ ****************************************************************************
+ *
+ * File: xc_csched.c
+ * Author: Emmanuel Ackaouy
+ *
+ * Description: XC Interface to the credit scheduler
+ *
+ */
+#include "xc_private.h"
+
+
+int
+xc_sched_credit2_domain_set(
+ int xc_handle,
+ uint32_t domid,
+ struct xen_domctl_sched_credit2 *sdom)
+{
+ DECLARE_DOMCTL;
+
+ domctl.cmd = XEN_DOMCTL_scheduler_op;
+ domctl.domain = (domid_t) domid;
+ domctl.u.scheduler_op.sched_id = XEN_SCHEDULER_CREDIT2;
+ domctl.u.scheduler_op.cmd = XEN_DOMCTL_SCHEDOP_putinfo;
+ domctl.u.scheduler_op.u.credit2 = *sdom;
+
+ return do_domctl(xc_handle, &domctl);
+}
+
+int
+xc_sched_credit2_domain_get(
+ int xc_handle,
+ uint32_t domid,
+ struct xen_domctl_sched_credit2 *sdom)
+{
+ DECLARE_DOMCTL;
+ int err;
+
+ domctl.cmd = XEN_DOMCTL_scheduler_op;
+ domctl.domain = (domid_t) domid;
+ domctl.u.scheduler_op.sched_id = XEN_SCHEDULER_CREDIT2;
+ domctl.u.scheduler_op.cmd = XEN_DOMCTL_SCHEDOP_getinfo;
+
+ err = do_domctl(xc_handle, &domctl);
+ if ( err == 0 )
+ *sdom = domctl.u.scheduler_op.u.credit2;
+
+ return err;
+}