Re: 2.6.24-rc2-mm1 (memory hotplug x86_64/vmemmap fix)

Andrew Morton
2007-11-15T08:57:50Z

On Thu, 15 Nov 2007 13:29:19 +0900 KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:

> Fixes for memory hotplug compile and .section handling.
>
> This patch fixes following bugs
> ==
> WARNING: vmlinux.o(.text+0x1d07c): Section mismatch: reference to .init.text:f
> ind_e820_area (between 'init_memory_mapping' and 'arch_add_memory')
> WARNING: vmlinux.o(.text+0x946b5): Section mismatch: reference to .init.text:
> __alloc_bootmem_node (between 'vmemmap_alloc_block' and 'vmemmap_pgd_populate')
>
> ERROR: "memory_add_physaddr_to_nid" [drivers/acpi/acpi_memhotplug.ko] undefined!
> make[1]: *** [__modpost
> ==
>
> This patch does
> 1. export memory_add_physaddr_to_nid().
> 2. changes __init to __init_refok find_early_table_space() (x86/mm/init_64.c)
> 3. changes __init_refok to __meminit in mm/sparse.c (This is bug.)
> 4. add wrapper function to call bootmem allocator without warning.
>
> After seeing "3", I thought simple __init_refok is dangerous and decided to
> add wrapper function to call bootmem, is this style acceptable ?

eek.

What I now need to do with this patch is

- Work out which patches in -mm it is actually fixing.

- If that is more than one patch then split this patch up into multiple ones.

- Stage the one or more fixup patches immediately after the patches which
they are fixing (with appropriate names: foo-fix.patch fixes foo.patch)

And that's OK - it's what I do. But if you already have some idea which
patch you're actually fixing then it really helps me if you can tell me
which one it was, please - there's no point in having me duplicate your
work.

Plus it does look like this is three patches in one (at least)...

Thanks.