|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 8 of 9] 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>
diff -r acbe35e4fb4a -r 5600db2bcd0e tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c Wed Feb 22 16:08:28 2012 +0000
+++ b/tools/libxl/xl_cmdimpl.c Wed Feb 22 16:08:28 2012 +0000
@@ -4059,13 +4059,23 @@ static int sched_sedf_domain_output(
return 0;
}
-static int sched_domain_output(
- uint32_t 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(uint32_t 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;
@@ -4093,9 +4103,7 @@ static int sched_domain_output(
(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++) {
@@ -4171,7 +4179,9 @@ int main_sched_credit(int argc, char **a
if (!dom) { /* list all domain's credit scheduler info */
return -sched_domain_output(XEN_SCHEDULER_CREDIT,
- sched_credit_domain_output, cpupool);
+ sched_credit_domain_output,
+ sched_default_pool_output,
+ cpupool);
} else {
find_domain(dom);
@@ -4247,7 +4257,9 @@ int main_sched_credit2(int argc, char **
if (!dom) { /* list all domain's credit scheduler info */
return -sched_domain_output(XEN_SCHEDULER_CREDIT2,
- sched_credit2_domain_output, cpupool);
+ sched_credit2_domain_output,
+ sched_default_pool_output,
+ cpupool);
} else {
find_domain(dom);
@@ -4349,7 +4361,9 @@ int main_sched_sedf(int argc, char **arg
if (!dom) { /* list all domain's credit scheduler info */
return -sched_domain_output(XEN_SCHEDULER_SEDF,
- sched_sedf_domain_output, cpupool);
+ sched_sedf_domain_output,
+ sched_default_pool_output,
+ cpupool);
} else {
find_domain(dom);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |