mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
Remove all traces of the obsolete BVT scheduler.
Signed-off-by: Keir Fraser <keir@xensource.com>
This commit is contained in:
1 parent
ae95fdf65a
commit
db51cd09d3
20 files changed
+7
-1008
No files matched your search
@@ -388,83 +388,6 @@ static PyObject *pyxc_hvm_build(XcObject *self,
|
||||
return Py_BuildValue("{s:i}", "store_mfn", store_mfn);
|
||||
}
|
||||
|
||||
static PyObject *pyxc_bvtsched_global_set(XcObject *self, PyObject *args)
|
||||
{
|
||||
unsigned long ctx_allow;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "l", &ctx_allow))
|
||||
return NULL;
|
||||
|
||||
if (xc_bvtsched_global_set(self->xc_handle, ctx_allow) != 0)
|
||||
return PyErr_SetFromErrno(xc_error);
|
||||
|
||||
Py_INCREF(zero);
|
||||
return zero;
|
||||
}
|
||||
|
||||
static PyObject *pyxc_bvtsched_global_get(XcObject *self)
|
||||
{
|
||||
unsigned long ctx_allow;
|
||||
|
||||
if (xc_bvtsched_global_get(self->xc_handle, &ctx_allow) != 0)
|
||||
return PyErr_SetFromErrno(xc_error);
|
||||
|
||||
return Py_BuildValue("s:l", "ctx_allow", ctx_allow);
|
||||
}
|
||||
|
||||
static PyObject *pyxc_bvtsched_domain_set(XcObject *self,
|
||||
PyObject *args,
|
||||
PyObject *kwds)
|
||||
{
|
||||
uint32_t dom;
|
||||
uint32_t mcuadv;
|
||||
int warpback;
|
||||
int32_t warpvalue;
|
||||
long long warpl;
|
||||
long long warpu;
|
||||
|
||||
static char *kwd_list[] = { "dom", "mcuadv", "warpback", "warpvalue",
|
||||
"warpl", "warpu", NULL };
|
||||
|
||||
if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iiiiLL", kwd_list,
|
||||
&dom, &mcuadv, &warpback, &warpvalue,
|
||||
&warpl, &warpu) )
|
||||
return NULL;
|
||||
|
||||
if ( xc_bvtsched_domain_set(self->xc_handle, dom, mcuadv,
|
||||
warpback, warpvalue, warpl, warpu) != 0 )
|
||||
return PyErr_SetFromErrno(xc_error);
|
||||
|
||||
Py_INCREF(zero);
|
||||
return zero;
|
||||
}
|
||||
|
||||
static PyObject *pyxc_bvtsched_domain_get(XcObject *self,
|
||||
PyObject *args)
|
||||
{
|
||||
uint32_t dom;
|
||||
uint32_t mcuadv;
|
||||
int warpback;
|
||||
int32_t warpvalue;
|
||||
long long warpl;
|
||||
long long warpu;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "i", &dom))
|
||||
return NULL;
|
||||
|
||||
if (xc_bvtsched_domain_get(self->xc_handle, dom, &mcuadv, &warpback,
|
||||
&warpvalue, &warpl, &warpu) != 0)
|
||||
return PyErr_SetFromErrno(xc_error);
|
||||
|
||||
return Py_BuildValue("{s:i,s:l,s:l,s:l,s:l}",
|
||||
"domain", dom,
|
||||
"mcuadv", mcuadv,
|
||||
"warpback", warpback,
|
||||
"warpvalue", warpvalue,
|
||||
"warpl", warpl,
|
||||
"warpu", warpu);
|
||||
}
|
||||
|
||||
static PyObject *pyxc_evtchn_alloc_unbound(XcObject *self,
|
||||
PyObject *args,
|
||||
PyObject *kwds)
|
||||
@@ -1051,45 +974,6 @@ static PyMethodDef pyxc_methods[] = {
|
||||
" vcpus [int, 1]: Number of Virtual CPUS in domain.\n\n"
|
||||
"Returns: [int] 0 on success; -1 on error.\n" },
|
||||
|
||||
{ "bvtsched_global_set",
|
||||
(PyCFunction)pyxc_bvtsched_global_set,
|
||||
METH_VARARGS | METH_KEYWORDS, "\n"
|
||||
"Set global tuning parameters for Borrowed Virtual Time scheduler.\n"
|
||||
" ctx_allow [int]: Minimal guaranteed quantum.\n\n"
|
||||
"Returns: [int] 0 on success; -1 on error.\n" },
|
||||
|
||||
{ "bvtsched_global_get",
|
||||
(PyCFunction)pyxc_bvtsched_global_get,
|
||||
METH_NOARGS, "\n"
|
||||
"Get global tuning parameters for BVT scheduler.\n"
|
||||
"Returns: [dict]:\n"
|
||||
" ctx_allow [int]: context switch allowance\n" },
|
||||
|
||||
{ "bvtsched_domain_set",
|
||||
(PyCFunction)pyxc_bvtsched_domain_set,
|
||||
METH_VARARGS | METH_KEYWORDS, "\n"
|
||||
"Set per-domain tuning parameters for Borrowed Virtual Time scheduler.\n"
|
||||
" dom [int]: Identifier of domain to be tuned.\n"
|
||||
" mcuadv [int]: Proportional to the inverse of the domain's weight.\n"
|
||||
" warpback [int]: Warp ? \n"
|
||||
" warpvalue [int]: How far to warp domain's EVT on unblock.\n"
|
||||
" warpl [int]: How long the domain can run warped.\n"
|
||||
" warpu [int]: How long before the domain can warp again.\n\n"
|
||||
"Returns: [int] 0 on success; -1 on error.\n" },
|
||||
|
||||
{ "bvtsched_domain_get",
|
||||
(PyCFunction)pyxc_bvtsched_domain_get,
|
||||
METH_VARARGS, "\n"
|
||||
"Get per-domain tuning parameters under the BVT scheduler.\n"
|
||||
" dom [int]: Identifier of domain to be queried.\n"
|
||||
"Returns [dict]:\n"
|
||||
" domain [int]: Domain ID.\n"
|
||||
" mcuadv [long]: MCU Advance.\n"
|
||||
" warp [long]: Warp.\n"
|
||||
" warpu [long]: Unwarp requirement.\n"
|
||||
" warpl [long]: Warp limit,\n"
|
||||
},
|
||||
|
||||
{ "sedf_domain_set",
|
||||
(PyCFunction)pyxc_sedf_domain_set,
|
||||
METH_KEYWORDS, "\n"
|
||||
|
||||
@@ -471,34 +471,6 @@ class XendDomain:
|
||||
except Exception, ex:
|
||||
raise XendError(str(ex))
|
||||
|
||||
def domain_cpu_bvt_set(self, domid, mcuadv, warpback, warpvalue, warpl,
|
||||
warpu):
|
||||
"""Set BVT (Borrowed Virtual Time) scheduler parameters for a domain.
|
||||
"""
|
||||
dominfo = self.domain_lookup_by_name_or_id_nr(domid)
|
||||
if not dominfo:
|
||||
raise XendInvalidDomain(str(domid))
|
||||
try:
|
||||
return xc.bvtsched_domain_set(dom=dominfo.getDomid(),
|
||||
mcuadv=mcuadv,
|
||||
warpback=warpback,
|
||||
warpvalue=warpvalue,
|
||||
warpl=warpl, warpu=warpu)
|
||||
except Exception, ex:
|
||||
raise XendError(str(ex))
|
||||
|
||||
def domain_cpu_bvt_get(self, domid):
|
||||
"""Get BVT (Borrowed Virtual Time) scheduler parameters for a domain.
|
||||
"""
|
||||
dominfo = self.domain_lookup_by_name_or_id_nr(domid)
|
||||
if not dominfo:
|
||||
raise XendInvalidDomain(str(domid))
|
||||
try:
|
||||
return xc.bvtsched_domain_get(dominfo.getDomid())
|
||||
except Exception, ex:
|
||||
raise XendError(str(ex))
|
||||
|
||||
|
||||
def domain_cpu_sedf_set(self, domid, period, slice_, latency, extratime,
|
||||
weight):
|
||||
"""Set Simple EDF scheduler parameters for a domain.
|
||||
|
||||
@@ -39,12 +39,6 @@ class XendNode:
|
||||
def notify(self, _):
|
||||
return 0
|
||||
|
||||
def cpu_bvt_slice_set(self, ctx_allow):
|
||||
return self.xc.bvtsched_global_set(ctx_allow)
|
||||
|
||||
def cpu_bvt_slice_get(self):
|
||||
return self.xc.bvtsched_global_get()
|
||||
|
||||
def info(self):
|
||||
return (self.nodeinfo() + self.physinfo() + self.xeninfo() +
|
||||
self.xendinfo())
|
||||
|
||||
@@ -102,18 +102,6 @@ class SrvDomain(SrvDir):
|
||||
val = fn(req.args, {'dom': self.dom.domid})
|
||||
return val
|
||||
|
||||
def op_cpu_bvt_set(self, _, req):
|
||||
fn = FormFn(self.xd.domain_cpu_bvt_set,
|
||||
[['dom', 'int'],
|
||||
['mcuadv', 'int'],
|
||||
['warpback', 'int'],
|
||||
['warpvalue', 'int'],
|
||||
['warpl', 'long'],
|
||||
['warpu', 'long']])
|
||||
val = fn(req.args, {'dom': self.dom.domid})
|
||||
return val
|
||||
|
||||
|
||||
def op_cpu_sedf_get(self, _, req):
|
||||
fn = FormFn(self.xd.domain_cpu_sedf_get,
|
||||
[['dom', 'int']])
|
||||
|
||||
@@ -39,12 +39,6 @@ class SrvNode(SrvDir):
|
||||
val = self.xn.reboot()
|
||||
return val
|
||||
|
||||
def op_cpu_bvt_slice_set(self, _, req):
|
||||
fn = FormFn(self.xn.cpu_bvt_slice_set,
|
||||
[['ctx_allow', 'int']])
|
||||
val = fn(req.args, {})
|
||||
return val
|
||||
|
||||
def render_POST(self, req):
|
||||
return self.perform(req)
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ class XMLRPCServer:
|
||||
self.server.register_function(fn, "xend.domain.%s" % name[7:])
|
||||
|
||||
# Functions in XendNode and XendDmesg
|
||||
for type, lst, n in [(XendNode, ['info', 'cpu_bvt_slice_set'], 'node'),
|
||||
for type, lst, n in [(XendNode, ['info'], 'node'),
|
||||
(XendDmesg, ['info', 'clear'], 'node.dmesg')]:
|
||||
inst = type.instance()
|
||||
for name in lst:
|
||||
|
||||
@@ -89,10 +89,6 @@ dmesg_help = "dmesg [-c|--clear] Read or clear Xen's message buf
|
||||
info_help = "info Get information about the xen host"
|
||||
rename_help = "rename <DomId> <New Name> Rename a domain"
|
||||
log_help = "log Print the xend log"
|
||||
sched_bvt_help = """sched-bvt <Parameters> Set Borrowed Virtual Time scheduler
|
||||
parameters"""
|
||||
sched_bvt_ctxallow_help = """sched-bvt-ctxallow <Allow> Set the BVT scheduler context switch
|
||||
allowance"""
|
||||
sched_sedf_help = "sched-sedf [DOM] [OPTIONS] Show|Set simple EDF parameters\n" + \
|
||||
" -p, --period Relative deadline(ms).\n\
|
||||
-s, --slice Worst-case execution time(ms)\n\
|
||||
@@ -192,8 +188,6 @@ host_commands = [
|
||||
|
||||
scheduler_commands = [
|
||||
"sched-credit",
|
||||
"sched-bvt",
|
||||
"sched-bvt-ctxallow",
|
||||
"sched-sedf",
|
||||
]
|
||||
|
||||
@@ -672,18 +666,6 @@ def xm_domname(args):
|
||||
dom = server.xend.domain(name)
|
||||
print sxp.child_value(dom, 'name')
|
||||
|
||||
def xm_sched_bvt(args):
|
||||
arg_check(args, "sched-bvt", 6)
|
||||
dom = args[0]
|
||||
v = map(long, args[1:6])
|
||||
server.xend.domain.cpu_bvt_set(dom, *v)
|
||||
|
||||
def xm_sched_bvt_ctxallow(args):
|
||||
arg_check(args, "sched-bvt-ctxallow", 1)
|
||||
|
||||
slice = int(args[0])
|
||||
server.xend.node.cpu_bvt_slice_set(slice)
|
||||
|
||||
def xm_sched_sedf(args):
|
||||
def ns_to_ms(val):
|
||||
return float(val) * 0.000001
|
||||
@@ -1209,8 +1191,6 @@ commands = {
|
||||
"log": xm_log,
|
||||
"serve": xm_serve,
|
||||
# scheduler
|
||||
"sched-bvt": xm_sched_bvt,
|
||||
"sched-bvt-ctxallow": xm_sched_bvt_ctxallow,
|
||||
"sched-sedf": xm_sched_sedf,
|
||||
"sched-credit": xm_sched_credit,
|
||||
# block
|
||||
|
||||