lkml.org 
[lkml]   [2005]   [Sep]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH 3/3] Gdt hotplug
Andi Kleen wrote:

>On Wednesday 28 September 2005 23:44, Zachary Amsden wrote:
>
>
>>As suggested by Andi Kleen, don't allocate a GDT page if there is already
>>one present. Needed for CPU hotplug.
>>
>>
>
>Did I really suggest that? I think I suggested checking the return
>value of gfp. Also get_zeroed_page() is slightly cleaner than GFP_ZERO.
>
>

Then I think this looks better all around.

As suggested by Andi Kleen, don't allocate a GDT page if there is already one
present. Needed for CPU hotplug.

Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.14-rc2/arch/i386/kernel/smpboot.c
===================================================================
--- linux-2.6.14-rc2.orig/arch/i386/kernel/smpboot.c 2005-09-28 15:49:26.000000000 -0700
+++ linux-2.6.14-rc2/arch/i386/kernel/smpboot.c 2005-09-28 16:00:55.000000000 -0700
@@ -874,6 +874,12 @@ static int __devinit do_boot_cpu(int api
unsigned long start_eip;
unsigned short nmi_high = 0, nmi_low = 0;

+ if (!cpu_gdt_descr[cpu].address &&
+ !(cpu_gdt_descr[cpu].address = get_zeroed_page(GFP_KERNEL))) {
+ printk("Failed to allocate GDT for CPU %d\n", cpu);
+ return 1;
+ }
+
++cpucount;

/*
@@ -898,8 +904,6 @@ static int __devinit do_boot_cpu(int api
* This grunge runs the startup process for
* the targeted processor.
*/
- cpu_gdt_descr[cpu].address = __get_free_page(GFP_KERNEL|__GFP_ZERO);
-
atomic_set(&init_deasserted, 0);

Dprintk("Setting warm reset code and vector.\n");
\
 
 \ /
  Last update: 2005-09-29 01:08    [W:0.032 / U:0.676 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site