From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: Hypervisor crash(!) on xl cpupool-numa-split Date: Tue, 8 Feb 2011 12:08:05 +0000 Message-ID: References: <4D41FD3A.5090506@amd.com> <201102021539.06664.stephan.diestelhorst@amd.com> <4D4974D1.1080503@ts.fujitsu.com> <201102021701.05665.stephan.diestelhorst@amd.com> <4D4A43B7.5040707@ts.fujitsu.com> <4D4A72D8.3020502@ts.fujitsu.com> <4D4C08B6.30600@amd.com> <4D4FE7E2.9070605@amd.com> <4D4FF452.6060508@ts.fujitsu.com> <4D50D80F.9000007@ts.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <4D50D80F.9000007@ts.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Juergen Gross Cc: Andre Przywara , "xen-devel@lists.xensource.com" , "Diestelhorst, Stephan" List-Id: xen-devel@lists.xenproject.org On Tue, Feb 8, 2011 at 5:43 AM, Juergen Gross wrote: > On 02/07/11 16:55, George Dunlap wrote: >> >> Juergen, >> >> What is supposed to happen if a domain is in cpupool0, and then all of >> the cpus are taken out of cpupool0? =A0Is that possible? > > No. Cpupool0 can't be without any cpu, as Dom0 is always member of cpupoo= l0. If that's the case, then since Andre is running this immediately after boot, he shouldn't be seeing any vcpus in the new pools; and all of the dom0 vcpus should be migrated to cpupool0, right? Is it possible that migration process isn't happening properly? It looks like schedule.c:cpu_disable_scheduler() will try to migrate all vcpus, and if it fails to migrate, it returns -EAGAIN so that the tools will try again. It's probably worth instrumenting that whole code-path to make sure it actually happens as we expect. Are we certain, for example, that if a hypercall continued on another cpu will actually return the new error value properly? Another minor thing: In cpupool.c:cpupool_unassign_cpu_helper(), why is the cpu's bit set in cpupool_free_cpus without checking to see if the cpu_disable_scheduler() call actually worked? Shouldn't that also be inside the if() statement? -George