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.
-Andi
>
> Signed-off-by: Zachary Amsden <zach@vmware.com>
> Index: linux-2.6.14-rc1/arch/i386/kernel/smpboot.c
> ==================================================================> ---
linux-2.6.14-rc1.orig/arch/i386/kernel/smpboot.c 2005-09-20
> 20:38:22.000000000 -0700 +++
> linux-2.6.14-rc1/arch/i386/kernel/smpboot.c 2005-09-28 12:54:08.000000000
> -0700 @@ -898,7 +898,8 @@ 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);
> + if (!cpu_gdt_descr[cpu].address)
> + cpu_gdt_descr[cpu].address = __get_free_page(GFP_KERNEL|__GFP_ZERO);
>
> atomic_set(&init_deasserted, 0);