[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 09 of 10] 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> diff -r d70161aab13e -r 6dc39f1a7167 tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Tue Feb 21 12:17:12 2012 +0000 +++ b/tools/libxl/xl_cmdimpl.c Tue Feb 21 12:17:15 2012 +0000 @@ -4059,13 +4059,24 @@ static int sched_sedf_domain_output( return 0; } +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), const char *cpupool) + 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 +4104,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 +4180,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 +4258,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 +4362,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 |