WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [PATCH] Fix cpu offline bug

To: "Liu, Jinsong" <jinsong.liu@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] Re: [PATCH] Fix cpu offline bug
From: Keir Fraser <keir@xxxxxxx>
Date: Sat, 05 Mar 2011 11:40:11 +0000
Cc: "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx>, "Li, Xin" <xin.li@xxxxxxxxx>
Delivery-date: Sat, 05 Mar 2011 03:41:13 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:sender:user-agent:date:subject:from:to:cc :message-id:thread-topic:thread-index:in-reply-to:mime-version :content-type:content-transfer-encoding; bh=Pk9tU1gIa1GRm2Yxp5mSuwNS15scF69LD5P4YDhtGck=; b=PgvvWG+yxYzxpoGD+lGAg0N+Jemq6lKsLpLo2mGIDP4P7rwkgEEEvvJbWJ2Dv4qZbH m6HJJDwRqMxa9xGWau4LaXyg0JEoc4Dd2/ghZ3br8TDYIrmY8e9mCFjBfl4JUTykmNRl c59dKDBfnJtRPXBdgSHSVNI7ng8UorFsyxQOI=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic :thread-index:in-reply-to:mime-version:content-type :content-transfer-encoding; b=fFyt8EMisk3rbAOuNeU55chDkYQjMqvpA5jUF0nZldEK0w7wONCAIeTg5PbKIlXVOl yaXOS25SM4ayPECiSjyzaoz+37468s4lv3jYwdKwG9VPxhATZEqBV5j+IiAyZ9tcT8VI GukCkROnao9aYoOnn//ouyg9wVWj5UoUJzmec=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <BC00F5384FCFC9499AF06F92E8B78A9E1FA4F5A806@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcvaVg/u0QwvoHZBRPSNM5hGIfEKXQA1AXOC
Thread-topic: [PATCH] Fix cpu offline bug
User-agent: Microsoft-Entourage/12.28.0.101117
On 04/03/2011 10:22, "Liu, Jinsong" <jinsong.liu@xxxxxxxxx> wrote:

> Fix cpu offline bug
> 
> At current xen, when cpu offline, cpu0 will wait the 1st cpu offline;
> However, if offline 2nd, 3rd, ... cpu, cpu0 will not wait it.
> This patch is used to fix the bug.

Alternative fix applied tio unstable and 4.1-testing. The fix below doesn't
account for the fact that cpu_state can also == CPU_STATE_DEAD after an
(unsuccessful) CPU online operation.

 -- Keir

> Signed-off-by: Liu, Jinsong <jinsong.liu@xxxxxxxxx>
> 
> diff -r d1631540bcc4 xen/arch/x86/smpboot.c
> --- a/xen/arch/x86/smpboot.c Tue Jan 18 17:23:24 2011 +0000
> +++ b/xen/arch/x86/smpboot.c Sat Feb 12 03:48:09 2011 +0800
> @@ -78,7 +78,8 @@ static enum cpu_state {
>      CPU_STATE_INIT,     /* master -> slave: Early bringup phase 1 */
>      CPU_STATE_CALLOUT,  /* master -> slave: Early bringup phase 2 */
>      CPU_STATE_CALLIN,   /* slave -> master: Completed phase 2 */
> -    CPU_STATE_ONLINE    /* master -> slave: Go fully online now. */
> +    CPU_STATE_ONLINE,   /* master -> slave: Go fully online now. */
> +    CPU_STATE_STAY      /* after slave dead, global cpu_state stay here */
>  } cpu_state;
>  #define set_cpu_state(state) do { mb(); cpu_state = (state); } while (0)
>  
> @@ -867,6 +868,8 @@ void __cpu_die(unsigned int cpu)
>          if ( (++i % 10) == 0 )
>              printk(KERN_ERR "CPU %u still not dead...\n", cpu);
>      }
> +
> +    set_cpu_state(CPU_STATE_STAY);
>  }
>  
>  int cpu_add(uint32_t apic_id, uint32_t acpi_id, uint32_t pxm)



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel