Re: [patch 3/3] add x86-64 support for memory hot-add

From: Andi Kleen
Date: Fri Dec 09 2005 - 12:32:10 EST


On Fri, Dec 09, 2005 at 10:23:49AM -0500, Matt Tolentino wrote:
> --- linux-2.6.15-rc5/arch/x86_64/mm/init.c 2005-12-04 00:10:42.000000000 -0500
> +++ linux-2.6.15-rc5-matt/arch/x86_64/mm/init.c 2005-12-08 15:02:30.000000000 -0500
> @@ -23,6 +23,8 @@
> #include <linux/bootmem.h>
> #include <linux/proc_fs.h>
> #include <linux/pci.h>
> +#include <linux/module.h>
> +#include <linux/memory_hotplug.h>
>
> #include <asm/processor.h>
> #include <asm/system.h>
> @@ -174,13 +176,19 @@ static struct temp_map {
> {}
> };
>
> -static __init void *alloc_low_page(int *index, unsigned long *phys)
> +static __devinit void *alloc_low_page(int *index, unsigned long *phys)

These should be all __cpuinit.

In general SRAT has a hotplug memory bit so it's possible
to predict how much memory there will be in advance. Since
the overhead of the kernel page tables should be very
low I would prefer if you just used instead.

(i.e. instead of extending the kernel mapping preallocate
the direct mapping and just clear the P bits)

That should be much simpler.

-Andi

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/