[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 7/7] libxl/vcpu-set - allow to decrease vcpu count on overcommitted guests (v5)
> -----Original Message----- > From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@xxxxxxxxxx] > Sent: Wednesday, July 01, 2015 8:03 PM > To: Xu, Quan; ian.campbell@xxxxxxxxxx; ian.jackson@xxxxxxxxxxxxx; > xen-devel@xxxxxxxxxxxxx; wei.liu2@xxxxxxxxxx > Subject: RE: [Xen-devel] [PATCH v4 7/7] libxl/vcpu-set - allow to decrease > vcpu > count on overcommitted guests (v5) > > > > On July 1, 2015 7:42:33 AM EDT, "Xu, Quan" <quan.xu@xxxxxxxxx> wrote: > > > > > >> -----Original Message----- > >> From: xen-devel-bounces@xxxxxxxxxxxxx > >> [mailto:xen-devel-bounces@xxxxxxxxxxxxx] On Behalf Of Konrad > >Rzeszutek Wilk > >> Sent: Monday, March 30, 2015 11:27 PM > >> To: ian.campbell@xxxxxxxxxx; ian.jackson@xxxxxxxxxxxxx; > >xen-devel@xxxxxxxxxxxxx; > >> wei.liu2@xxxxxxxxxx > >> Cc: Konrad Rzeszutek Wilk > >> Subject: [Xen-devel] [PATCH v4 7/7] libxl/vcpu-set - allow to > >decrease vcpu count > >> on overcommitted guests (v5) > >> > >> We have a check to warn the user if they are overcommitting. > >> But the check only checks the hosts CPU amount and does not take into > >account > >> the case when the user is trying to fix the overcommit. That is - > >they want to limit > >> the amount of online VCPUs. > >> > >> This fix allows the user to offline vCPUs without any warnings when > >they are > >> running an overcommitted guest. > >> > >> Also fix the extra space in the message. > >> > >> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > >> > >> --- > >> [v2: Remove crud code as spotted by Boris] > >> [v3: Moved crud code removal to another patch] > >> [v4: Remove the fprintf as it is done in libxl_domain_info] > >> [v5: Fix memory leak] > >> --- > >> tools/libxl/xl_cmdimpl.c | 17 +++++++++++++---- > >> 1 file changed, 13 insertions(+), 4 deletions(-) > >> > >> diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c > >index > >> b121d75..648ca08 100644 > >> --- a/tools/libxl/xl_cmdimpl.c > >> +++ b/tools/libxl/xl_cmdimpl.c > >> @@ -5238,12 +5238,21 @@ static int vcpuset(uint32_t domid, const > >char* > >> nr_vcpus, int check_host) > >> */ > >> if (check_host) { > >> unsigned int host_cpu = libxl_get_max_cpus(ctx); > >> - if (max_vcpus > host_cpu) { > >> - fprintf(stderr, "You are overcommmitting! You have %d > >physical " \ > >> - " CPUs and want %d vCPUs! Aborting, use > >--ignore-host > >> to " \ > >> - " continue\n", host_cpu, max_vcpus); > >> + libxl_dominfo dominfo; > >> + > >> + rc = libxl_domain_info(ctx, &dominfo, domid); > >> + if (rc) > >> return 1; > >> + > >> + if (max_vcpus > dominfo.vcpu_online && max_vcpus > host_cpu) > >{ > > > >Konrad, > > I have a question. Does xen support vcpu-set to reset vcpu-count > >larger than current number of active VCPUs ?? > > Yes. > > Thanks! This maybe still a bug. > >If the vcpu-count is larger than the current number of active VCPUs, > >sometimes Xen hypervisor doesn't run correctly with Call Trace form > >series output. > >For example, When I run vcpu-set to set Domain-0 vcpu count from 32 to > >20( domain0_max_vcpu is 32), then I try to run vcpu-set to Vcpu-set > >Domain-0 from 20 to 32 again(20 is current number of active VCPUs ). > >sometimes, it is wrong form series output as below: > > > > > Did you use the latest kernel?please start another thread with this error and > details such as kernel version, etc. Please CC David Vrabel and Boris > Ostrovsky. > > Not the last. I use ubutu 14.04 kernel as domain0 kernel. Which kernel version does it work? I can try it. Another question for http://wiki.xen.org/wiki/Paravirt_Linux_CPU_Hotplug : Content of `cpu-online.rules`: SUBSYSTEM=="cpu",ACTION=="add",RUN+="/bin/sh -c '[ ! -e /sys$devpath/online ] || echo 1 > /sys$devpath/online'" Should I replace "/sys$devpath/online " with "/sys/devices/system/cpu/online" ?? Thanks Quan > >Output >> > >[ 830.220998] Call Trace: > >[ 830.221020] [<ffffffff8110fbca>] ? rcu_irq_exit+0x7a/0xe0 [ > >830.221032] [<ffffffff8105f010>] ? xen_safe_halt+0x10/0x20 [ > >830.221043] [<ffffffff81074abc>] ? default_idle+0x2c/0xd0 [ > >830.221051] [<ffffffff81073eea>] ? arch_cpu_idle+0xa/0x10 [ > >830.221064] [<ffffffff810fd2a5>] ? cpu_startup_entry+0x315/0x470 [ > >830.221074] [<ffffffff81065ed5>] ? cpu_bringup_and_idle+0x25/0x40 [ > >830.221082] rcu_sched kthread starved for 63005 jiffies! > >Output<< > > > >BTW, I have tried to set domain-0 as > >http://wiki.xen.org/wiki/Paravirt_Linux_CPU_Hotplug > > > > > >Thanks > >Quan Xu > > > > > > > >> + fprintf(stderr, "You are overcommmitting! You have %d > >physical" \ > >> + " CPUs and want %d vCPUs! Aborting, use > >--ignore-host > >> to" \ > >> + " continue\n", host_cpu, max_vcpus); > >> + rc = 1; > >> } > >> + libxl_dominfo_dispose(&dominfo); > >> + if (rc) > >> + return 1; > >> } > >> rc = libxl_cpu_bitmap_alloc(ctx, &cpumap, max_vcpus); > >> if (rc) { > >> -- > >> 2.1.0 > >> > >> > >> _______________________________________________ > >> Xen-devel mailing list > >> Xen-devel@xxxxxxxxxxxxx > >> http://lists.xen.org/xen-devel > > -- > Sent from my Android device with K-9 Mail. Please excuse my brevity. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |