From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [Patch] remove unneeded test for cpu in cpupool Date: Wed, 16 Mar 2011 07:34:05 +0100 Message-ID: <4D8059DD.20907@ts.fujitsu.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000504080205090400090704" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "xen-devel@lists.xensource.com" , "Przywara, Andre" List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------000504080205090400090704 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi, attached patch removes an unneeded check in vcpu_migrate(). Andre, could you please give it a try on your 48 core machine with xl cpupool-numa-split I'd like to make sure the check is really not needed. On my machines it worked okay, but your machine seems to trigger races more easily. Juergen -- Juergen Gross Principal Developer Operating Systems TSP ES&S SWE OS6 Telephone: +49 (0) 89 3222 2967 Fujitsu Technology Solutions e-mail: juergen.gross@ts.fujitsu.com Domagkstr. 28 Internet: ts.fujitsu.com D-80807 Muenchen Company details: ts.fujitsu.com/imprint.html --------------000504080205090400090704 Content-Type: text/x-patch; name="cputest.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="cputest.patch" This patch removes an unneeded check in vcpu_migrate() for the picked cpu to be in the current cpupool. pick_cpu should only return cpus in the correct cpupool. Signed-off-by: juergen.gross@ts.fujitsu.com diff -r 3caed2112c65 xen/common/schedule.c --- a/xen/common/schedule.c Tue Mar 15 10:14:27 2011 +0000 +++ b/xen/common/schedule.c Wed Mar 16 07:26:38 2011 +0100 @@ -431,7 +431,7 @@ static void vcpu_migrate(struct vcpu *v) if ( old_lock == per_cpu(schedule_data, old_cpu).schedule_lock ) { /* - * If we selected a CPU on the previosu iteration, check if it + * If we selected a CPU on the previous iteration, check if it * remains suitable for running this vCPU. */ if ( pick_called && @@ -442,8 +442,7 @@ static void vcpu_migrate(struct vcpu *v) /* Select a new CPU. */ new_cpu = SCHED_OP(VCPU2OP(v), pick_cpu, v); - if ( (new_lock == per_cpu(schedule_data, new_cpu).schedule_lock) && - cpu_isset(new_cpu, v->domain->cpupool->cpu_valid) ) + if ( new_lock == per_cpu(schedule_data, new_cpu).schedule_lock ) break; pick_called = 1; } --------------000504080205090400090704 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------000504080205090400090704--