[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 1 of 2] 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 5e38c834f795 -r 70b0b974a29b tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Thu Mar 01 19:00:09 2012 +0000 +++ b/tools/libxl/xl_cmdimpl.c Fri Mar 02 10:45:06 2012 +0000 @@ -4055,13 +4055,23 @@ static int sched_sedf_domain_output( 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; @@ -4089,9 +4099,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++) { @@ -4167,7 +4175,9 @@ int main_sched_credit(int argc, char **a 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); @@ -4244,7 +4254,9 @@ int main_sched_credit2(int argc, char ** 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); @@ -4347,7 +4359,9 @@ int main_sched_sedf(int argc, char **arg 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-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |