|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 04/13] python: remove cpupool related libxc python bindings
Mostly for historical reasons Xen includes Python bindings for libxc.
They have been used by xm/xend in the past but nowadays there is no
user of any cpupool related python binding left. Remove them.
Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
---
tools/python/xen/lowlevel/xc/xc.c | 224 --------------------------------------
1 file changed, 224 deletions(-)
diff --git a/tools/python/xen/lowlevel/xc/xc.c
b/tools/python/xen/lowlevel/xc/xc.c
index c904627..9d82579 100644
--- a/tools/python/xen/lowlevel/xc/xc.c
+++ b/tools/python/xen/lowlevel/xc/xc.c
@@ -1682,175 +1682,6 @@ static PyObject *pyxc_dom_set_memshr(XcObject *self,
PyObject *args)
return zero;
}
-static PyObject *cpumap_to_cpulist(XcObject *self, xc_cpumap_t cpumap)
-{
- PyObject *cpulist = NULL;
- int i;
- int nr_cpus;
-
- nr_cpus = xc_get_max_cpus(self->xc_handle);
- if ( nr_cpus < 0 )
- return pyxc_error_to_exception(self->xc_handle);
-
- cpulist = PyList_New(0);
- for ( i = 0; i < nr_cpus; i++ )
- {
- if ( *cpumap & (1 << (i % 8)) )
- {
- PyObject* pyint = PyInt_FromLong(i);
-
- PyList_Append(cpulist, pyint);
- Py_DECREF(pyint);
- }
- if ( (i % 8) == 7 )
- cpumap++;
- }
- return cpulist;
-}
-
-static PyObject *pyxc_cpupool_create(XcObject *self,
- PyObject *args,
- PyObject *kwds)
-{
- uint32_t cpupool = 0, sched = XEN_SCHEDULER_CREDIT;
-
- static char *kwd_list[] = { "pool", "sched", NULL };
-
- if ( !PyArg_ParseTupleAndKeywords(args, kwds, "|ii", kwd_list, &cpupool,
- &sched))
- return NULL;
-
- if ( xc_cpupool_create(self->xc_handle, &cpupool, sched) < 0 )
- return pyxc_error_to_exception(self->xc_handle);
-
- return PyInt_FromLong(cpupool);
-}
-
-static PyObject *pyxc_cpupool_destroy(XcObject *self,
- PyObject *args)
-{
- uint32_t cpupool;
-
- if (!PyArg_ParseTuple(args, "i", &cpupool))
- return NULL;
-
- if (xc_cpupool_destroy(self->xc_handle, cpupool) != 0)
- return pyxc_error_to_exception(self->xc_handle);
-
- Py_INCREF(zero);
- return zero;
-}
-
-static PyObject *pyxc_cpupool_getinfo(XcObject *self)
-{
- PyObject *list, *info_dict;
-
- uint32_t pool;
- xc_cpupoolinfo_t *info;
-
- list = PyList_New(0);
- for (pool = 0;;)
- {
- info = xc_cpupool_getinfo(self->xc_handle, pool);
- if (info == NULL)
- break;
- info_dict = Py_BuildValue(
- "{s:i,s:i,s:i,s:N}",
- "cpupool", (int)info->cpupool_id,
- "sched", info->sched_id,
- "n_dom", info->n_dom,
- "cpulist", cpumap_to_cpulist(self, info->cpumap));
- pool = info->cpupool_id + 1;
- xc_cpupool_infofree(self->xc_handle, info);
-
- if ( info_dict == NULL )
- {
- Py_DECREF(list);
- return NULL;
- }
-
- PyList_Append(list, info_dict);
- Py_DECREF(info_dict);
- }
-
- return list;
-}
-
-static PyObject *pyxc_cpupool_addcpu(XcObject *self,
- PyObject *args,
- PyObject *kwds)
-{
- uint32_t cpupool;
- int cpu = -1;
-
- static char *kwd_list[] = { "cpupool", "cpu", NULL };
-
- if ( !PyArg_ParseTupleAndKeywords(args, kwds, "i|i", kwd_list,
- &cpupool, &cpu) )
- return NULL;
-
- if (xc_cpupool_addcpu(self->xc_handle, cpupool, cpu) != 0)
- return pyxc_error_to_exception(self->xc_handle);
-
- Py_INCREF(zero);
- return zero;
-}
-
-static PyObject *pyxc_cpupool_removecpu(XcObject *self,
- PyObject *args,
- PyObject *kwds)
-{
- uint32_t cpupool;
- int cpu = -1;
-
- static char *kwd_list[] = { "cpupool", "cpu", NULL };
-
- if ( !PyArg_ParseTupleAndKeywords(args, kwds, "i|i", kwd_list,
- &cpupool, &cpu) )
- return NULL;
-
- if (xc_cpupool_removecpu(self->xc_handle, cpupool, cpu) != 0)
- return pyxc_error_to_exception(self->xc_handle);
-
- Py_INCREF(zero);
- return zero;
-}
-
-static PyObject *pyxc_cpupool_movedomain(XcObject *self,
- PyObject *args,
- PyObject *kwds)
-{
- uint32_t cpupool, domid;
-
- static char *kwd_list[] = { "cpupool", "domid", NULL };
-
- if ( !PyArg_ParseTupleAndKeywords(args, kwds, "ii", kwd_list,
- &cpupool, &domid) )
- return NULL;
-
- if (xc_cpupool_movedomain(self->xc_handle, cpupool, domid) != 0)
- return pyxc_error_to_exception(self->xc_handle);
-
- Py_INCREF(zero);
- return zero;
-}
-
-static PyObject *pyxc_cpupool_freeinfo(XcObject *self)
-{
- xc_cpumap_t cpumap;
- PyObject *info = NULL;
-
- cpumap = xc_cpupool_freeinfo(self->xc_handle);
- if (!cpumap)
- return pyxc_error_to_exception(self->xc_handle);
-
- info = cpumap_to_cpulist(self, cpumap);
-
- free(cpumap);
-
- return info;
-}
-
static PyMethodDef pyxc_methods[] = {
{ "domain_create",
(PyCFunction)pyxc_domain_create,
@@ -2344,61 +2175,6 @@ static PyMethodDef pyxc_methods[] = {
" enable [int,0|1]: Disable or enable?\n"
"Returns: [int] 0 on success; -1 on error.\n" },
- { "cpupool_create",
- (PyCFunction)pyxc_cpupool_create,
- METH_VARARGS | METH_KEYWORDS, "\n"
- "Create new cpupool.\n"
- " pool [int, 0]: cpupool identifier to use (allocated if zero).\n"
- " sched [int]: scheduler to use (credit if unspecified).\n\n"
- "Returns: [int] new cpupool identifier; -1 on error.\n" },
-
- { "cpupool_destroy",
- (PyCFunction)pyxc_cpupool_destroy,
- METH_VARARGS, "\n"
- "Destroy a cpupool.\n"
- " pool [int]: Identifier of cpupool to be destroyed.\n\n"
- "Returns: [int] 0 on success; -1 on error.\n" },
-
- { "cpupool_getinfo",
- (PyCFunction)pyxc_cpupool_getinfo,
- METH_NOARGS, "\n"
- "Get information regarding a set of cpupools, in increasing id order.\n"
- "Returns: [list of dicts]\n"
- " pool [int]: Identifier of cpupool to which this info pertains\n"
- " sched [int]: Scheduler used for this cpupool\n"
- " n_dom [int]: Number of Domains in this cpupool\n"
- " cpulist [list]: List of CPUs this cpupool is using\n" },
-
- { "cpupool_addcpu",
- (PyCFunction)pyxc_cpupool_addcpu,
- METH_VARARGS | METH_KEYWORDS, "\n"
- "Add a cpu to a cpupool.\n"
- " pool [int]: Identifier of cpupool.\n"
- " cpu [int, -1]: Cpu to add (lowest free if -1)\n\n"
- "Returns: [int] 0 on success; -1 on error.\n" },
-
- { "cpupool_removecpu",
- (PyCFunction)pyxc_cpupool_removecpu,
- METH_VARARGS | METH_KEYWORDS, "\n"
- "Remove a cpu from a cpupool.\n"
- " pool [int]: Identifier of cpupool.\n"
- " cpu [int, -1]: Cpu to remove (highest used if -1)\n\n"
- "Returns: [int] 0 on success; -1 on error.\n" },
-
- { "cpupool_movedomain",
- (PyCFunction)pyxc_cpupool_movedomain,
- METH_VARARGS | METH_KEYWORDS, "\n"
- "Move a domain to another cpupool.\n"
- " pool [int]: Identifier of cpupool to move domain to.\n"
- " dom [int]: Domain to move\n\n"
- "Returns: [int] 0 on success; -1 on error.\n" },
-
- { "cpupool_freeinfo",
- (PyCFunction)pyxc_cpupool_freeinfo,
- METH_NOARGS, "\n"
- "Get info about cpus not in any cpupool.\n"
- "Returns: [list]: List of CPUs\n" },
-
{ NULL, NULL, 0, NULL }
};
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |