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

Re: [Xen-devel] [PATCH] Fixing PAE SMP dom0 hang at boot time

To: "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Fixing PAE SMP dom0 hang at boot time
From: Ryan Harper <ryanh@xxxxxxxxxx>
Date: Wed, 16 Nov 2005 10:40:54 -0600
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Wed, 16 Nov 2005 16:41:01 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <7F740D512C7C1046AB53446D3720017305EDA2F5@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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <7F740D512C7C1046AB53446D3720017305EDA2F5@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.6+20040907i
* Nakajima, Jun <jun.nakajima@xxxxxxxxx> [2005-11-15 19:56]:
> This patch fixes a hang with PAE SMP dom0 on big SMP machines. As far as
> I tested, 8-way PAE SMP dom0 boots fine on >=8-way machines. The fix is
> not PAE specific, and I made the equivent changes to x86_64 xenlinux.
> Tested on both PAE and x86_64 dom0 xenlinux on >=8-way SMP machines with
> >6GB.

Jun,  could you explain the patch a bit more?  

Why wouldn't we want to initialize the per-cpu gdt area for cpus other
than CPU0 ?

-       cpu_gdt_init(&cpu_gdt_descr[cpu]);
+       if (!cpu)
+           cpu_gdt_init(&cpu_gdt_descr[cpu]);


And why would we need to take interrupts between loading esp0 and LDT?

        load_esp0(t, thread);

+       local_irq_enable();
+
        load_LDT(&init_mm.context);


-- 
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253   T/L: 678-9253
ryanh@xxxxxxxxxx

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