|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] xl: Refactor sched_domain_output to have a callback for pool information
# HG changeset patch
# User George Dunlap <george.dunlap@xxxxxxxxxxxxx>
# Date 1331733898 0
# Node ID 847f05b8d3001303485d53de24ce40b8eb905920
# Parent 20c8a7db63d160e95fcf5c8e2f9d31923d336316
xl: Refactor sched_domain_output to have a callback for pool information
Allow a scheduler to provide a callback to display pool-wide information,
providing a default. This is in preparation for displaying pool-wide
scheduler parameters on this line.
Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
diff -r 20c8a7db63d1 -r 847f05b8d300 tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c Wed Mar 14 11:40:44 2012 +0000
+++ b/tools/libxl/xl_cmdimpl.c Wed Mar 14 14:04:58 2012 +0000
@@ -4056,13 +4056,23 @@
return 0;
}
-static int sched_domain_output(
- libxl_scheduler sched, int (*output)(int), const char *cpupool)
+static int sched_default_pool_output(uint32_t poolid)
+{
+ char *poolname;
+
+ poolname = libxl_cpupoolid_to_name(ctx, poolid);
+ printf("Cpupool %s:\n",
+ poolname);
+ free(poolname);
+ return 0;
+}
+
+static int sched_domain_output(libxl_scheduler sched, int (*output)(int),
+ int (*pooloutput)(uint32_t), const char
*cpupool)
{
libxl_dominfo *info;
libxl_cpupoolinfo *poolinfo = NULL;
uint32_t poolid;
- char *poolname;
int nb_domain, n_pools = 0, i, p;
int rc = 0;
@@ -4090,9 +4100,7 @@
(cpupool && (poolid != poolinfo[p].poolid)))
continue;
- poolname = libxl_cpupoolid_to_name(ctx, poolinfo[p].poolid);
- printf("Cpupool %s:\n", poolname);
- free(poolname);
+ pooloutput(poolinfo[p].poolid);
output(-1);
for (i = 0; i < nb_domain; i++) {
@@ -4168,7 +4176,9 @@
if (!dom) { /* list all domain's credit scheduler info */
return -sched_domain_output(LIBXL_SCHEDULER_CREDIT,
- sched_credit_domain_output, cpupool);
+ sched_credit_domain_output,
+ sched_default_pool_output,
+ cpupool);
} else {
find_domain(dom);
@@ -4245,7 +4255,9 @@
if (!dom) { /* list all domain's credit scheduler info */
return -sched_domain_output(LIBXL_SCHEDULER_CREDIT2,
- sched_credit2_domain_output, cpupool);
+ sched_credit2_domain_output,
+ sched_default_pool_output,
+ cpupool);
} else {
find_domain(dom);
@@ -4348,7 +4360,9 @@
if (!dom) { /* list all domain's credit scheduler info */
return -sched_domain_output(LIBXL_SCHEDULER_SEDF,
- sched_sedf_domain_output, cpupool);
+ sched_sedf_domain_output,
+ sched_default_pool_output,
+ cpupool);
} else {
find_domain(dom);
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |