diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-04-14 12:10:19 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-04-14 12:10:19 +0100 |
commit | 3ac51fc221171ab2e90334e63145cdcd266b0467 (patch) | |
tree | ffb3d8caa411f6b5ea6737632c42bb4f6d1bbbac /tools/libxc | |
parent | 0dd76d3d20a503af84637e495924965a4b122033 (diff) | |
download | xen-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')
-rw-r--r-- | tools/libxc/Makefile | 1 | ||||
-rw-r--r-- | tools/libxc/xc_csched2.c | 50 | ||||
-rw-r--r-- | tools/libxc/xenctrl.h | 8 |
3 files changed, 59 insertions, 0 deletions
diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile index 8a565e1370..02443b09f3 100644 --- a/tools/libxc/Makefile +++ b/tools/libxc/Makefile @@ -17,6 +17,7 @@ CTRL_SRCS-y += xc_physdev.c CTRL_SRCS-y += xc_private.c CTRL_SRCS-y += xc_sedf.c CTRL_SRCS-y += xc_csched.c +CTRL_SRCS-y += xc_csched2.c CTRL_SRCS-y += xc_tbuf.c CTRL_SRCS-y += xc_pm.c CTRL_SRCS-y += xc_cpu_hotplug.c 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; +} diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h index 497e211a43..f2c90b3f77 100644 --- a/tools/libxc/xenctrl.h +++ b/tools/libxc/xenctrl.h @@ -475,6 +475,14 @@ int xc_sched_credit_domain_get(int xc_handle, uint32_t domid, struct xen_domctl_sched_credit *sdom); +int xc_sched_credit2_domain_set(int xc_handle, + uint32_t domid, + struct xen_domctl_sched_credit2 *sdom); + +int xc_sched_credit2_domain_get(int xc_handle, + uint32_t domid, + struct xen_domctl_sched_credit2 *sdom); + /** * This function sends a trigger to a domain. * |