From: Wei Liu Date: Wed, 27 Sep 2017 11:46:22 +0000 (+0100) Subject: python/libxc: extend the call to get/set cap for credit2 X-Git-Tag: archive/raspbian/4.11.1-1+rpi1~1^2~66^2~1327 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c4169f955d7ce3004715ffcb9f706f143e9e78ae;p=xen.git python/libxc: extend the call to get/set cap for credit2 Commit 68817024 ("xen: credit2: allow to set and get utilization cap") added a new parameter. Implement it for the python binding as well. Coverity-ID: 1418532 Signed-off-by: Wei Liu Reviewed-by: Dario Faggioli Acked-by: Marek Marczykowski-Górecki --- diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c index aa9f8e4d9e..f501764100 100644 --- a/tools/python/xen/lowlevel/xc/xc.c +++ b/tools/python/xen/lowlevel/xc/xc.c @@ -1348,16 +1348,19 @@ static PyObject *pyxc_sched_credit2_domain_set(XcObject *self, { uint32_t domid; uint16_t weight; - static char *kwd_list[] = { "domid", "weight", NULL }; - static char kwd_type[] = "I|H"; - struct xen_domctl_sched_credit2 sdom; + uint16_t cap; + static char *kwd_list[] = { "domid", "weight", "cap", NULL }; + static char kwd_type[] = "I|HH"; + struct xen_domctl_sched_credit2 sdom = { }; weight = 0; + cap = 0; if( !PyArg_ParseTupleAndKeywords(args, kwds, kwd_type, kwd_list, - &domid, &weight) ) + &domid, &weight, &cap) ) return NULL; sdom.weight = weight; + sdom.cap = cap; if ( xc_sched_credit2_domain_set(self->xc_handle, domid, &sdom) != 0 ) return pyxc_error_to_exception(self->xc_handle); @@ -1369,7 +1372,7 @@ static PyObject *pyxc_sched_credit2_domain_set(XcObject *self, static PyObject *pyxc_sched_credit2_domain_get(XcObject *self, PyObject *args) { uint32_t domid; - struct xen_domctl_sched_credit2 sdom; + struct xen_domctl_sched_credit2 sdom = { }; if( !PyArg_ParseTuple(args, "I", &domid) ) return NULL; @@ -1377,8 +1380,8 @@ static PyObject *pyxc_sched_credit2_domain_get(XcObject *self, PyObject *args) if ( xc_sched_credit2_domain_get(self->xc_handle, domid, &sdom) != 0 ) return pyxc_error_to_exception(self->xc_handle); - return Py_BuildValue("{s:H}", - "weight", sdom.weight); + return Py_BuildValue("{s:HH}", + "weight", "cap", sdom.weight, sdom.cap); } static PyObject *pyxc_domain_setmaxmem(XcObject *self, PyObject *args)