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.xen@xxxxxxxxx>
Date: Fri, 04 Mar 2011 10:49:05 +0000
Cc: "Jiang, Yunhong" <yunhong.jiang@xxxxxxxxx>, "Li, Xin" <xin.li@xxxxxxxxx>
Delivery-date: Fri, 04 Mar 2011 02:49:54 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:user-agent:date:subject:from:to:cc:message-id :thread-topic:thread-index:in-reply-to:mime-version:content-type :content-transfer-encoding; bh=2YfBjxMc8SbWpry6P0kW6w4jX+EvNWVI9LqHpxEr2+g=; b=X5z/r+qE8R5SzykfTeY6lHnJvOITCtyJGTpXH9cj9rAleOkjBTcCYyznk385FnIRv9 veZEPNu7oeKSfzqaQ20gs4aLGXSeNgPhCFC6fyifJH/xARnUR+qIx/NrtyX+yzRvZnnX C8M5ChAr9jZz2f4cv6s05XX/64MN7Ug4JMcUk=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=user-agent:date:subject:from:to:cc:message-id:thread-topic :thread-index:in-reply-to:mime-version:content-type :content-transfer-encoding; b=x2F0pprELx6bVNKmadpWPKBFow9b+Z1p0Fe9LHrhNK/4OVBaaZ7uown4mN+iHNmUC5 Jj14ACpld6Fi8g+Eo/SiqG4dfBJtxY90V7VXa7LyQewDWQNg0S2Z/O7Nzdcpu3vFQQ7o Af4bcwOePktHvUpq7iwwEv49p7Y/a5FYlyPXo=
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/u0QwvoHZBRPSNM5hGIfEKXQAA7fpm
Thread-topic: [PATCH] Fix cpu offline bug
User-agent: Microsoft-Entourage/12.28.0.101117
Good fix of a nasty bug! I think I will refactor this a bit and do it
slightly differently, but the (simple) principle will of course be the same.

 Thanks,
 Keir

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.
> 
> 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