George Dunlap
2012-Apr-05 13:14 UTC
[PATCH] xl, cpupools: Create empty pool if no cpus are specified
Currently, if "xl cpupool-create" is called with no cpus configured, xl will choose a cpu at random from the list of unassigned cpus, and if no unassigned cpus are available, it will fail. This seems to me to be a poor interface. For one, it makes it impossible to create an empty cpupool using the xl command-line, except by creating a pool and then removing the cpus from it. For two, I don''t think assigning a random cpu is a feature; it''s not unreasonable for the user to specify which cpus to add to which pools. This patch changes the behavior of "xl cpupool-create" to create an empty pool if no cpus are specified. I believe this interface to be more expected and more script-friendly. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> diff -r 7530af17cfcf -r c53f124c8c44 tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Thu Apr 05 14:04:53 2012 +0100 +++ b/tools/libxl/xl_cmdimpl.c Thu Apr 05 14:14:32 2012 +0100 @@ -5734,20 +5734,8 @@ int main_cpupoolcreate(int argc, char ** libxl_cpumap_set(&cpumap, i); n_cpus++; } - } else { - n_cpus = 1; - n = 0; - libxl_for_each_cpu(i, freemap) - if (libxl_cpumap_test(&freemap, i)) { - n++; - libxl_cpumap_set(&cpumap, i); - break; - } - if (n < n_cpus) { - fprintf(stderr, "no free cpu found\n"); - return -ERROR_FAIL; - } - } + } else + n_cpus = 0; libxl_uuid_generate(&uuid);
Ian Jackson
2012-Apr-24 17:52 UTC
Re: [PATCH] xl, cpupools: Create empty pool if no cpus are specified
George Dunlap writes ("[Xen-devel] [PATCH] xl, cpupools: Create empty pool if no cpus are specified"):> This patch changes the behavior of "xl cpupool-create" to create an empty > pool if no cpus are specified. I believe this interface to be more expected > and more script-friendly.Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>