[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] xl cpupool-numa-split: reduce number of Dom0 vcpus
# HG changeset patch # User Juergen Gross <juergen.gross@xxxxxxxxxxxxxx> # Date 1297971553 0 # Node ID 2afa06e1f103f14da7118bd27db8e69f228a05fe # Parent 2ad66067784da47eef7ce2d0a204fbeae0557ef1 xl cpupool-numa-split: reduce number of Dom0 vcpus When reducing the number of physical cpus available for Domain-0 by xl cpupool-numa-split, reduce the number of vcpus accordingly. Signed-off-by: juergen.gross@xxxxxxxxxxxxxx Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- tools/libxl/xl_cmdimpl.c | 27 +++++++++++++++++++++++++-- 1 files changed, 25 insertions(+), 2 deletions(-) diff -r 2ad66067784d -r 2afa06e1f103 tools/libxl/xl_cmdimpl.c --- a/tools/libxl/xl_cmdimpl.c Thu Feb 17 19:12:45 2011 +0000 +++ b/tools/libxl/xl_cmdimpl.c Thu Feb 17 19:39:13 2011 +0000 @@ -5785,6 +5785,7 @@ int main_cpupoolnumasplit(int argc, char libxl_cpumap cpumap; libxl_cpupoolinfo *poolinfo; libxl_topologyinfo topology; + libxl_dominfo info; while ((opt = getopt(argc, argv, "h")) != -1) { switch (opt) { @@ -5840,11 +5841,33 @@ int main_cpupoolnumasplit(int argc, char goto out; } + n = 0; for (c = 0; c < topology.nodemap.entries; c++) { if (topology.nodemap.array[c] == node) { topology.nodemap.array[c] = LIBXL_CPUARRAY_INVALID_ENTRY; - } - } + libxl_cpumap_set(&cpumap, n); + n++; + } + } + if (libxl_set_vcpuonline(&ctx, 0, &cpumap)) { + fprintf(stderr, "error on removing vcpus for Domain-0\n"); + goto out; + } + for (c = 0; c < 10; c++) { + if (libxl_domain_info(&ctx, &info, 0)) { + fprintf(stderr, "error on getting info for Domain-0\n"); + goto out; + } + if (info.vcpu_online == n) { + break; + } + sleep(1); + } + if (info.vcpu_online > n) { + fprintf(stderr, "failed to offline vcpus\n"); + goto out; + } + memset(cpumap.map, 0, cpumap.size); for (c = 0; c < topology.nodemap.entries; c++) { if (topology.nodemap.array[c] == LIBXL_CPUARRAY_INVALID_ENTRY) { _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |