Re: [PATCH 1/2] clean up for early_pfn_to_nid

From: KAMEZAWA Hiroyuki
Date: Fri Feb 13 2009 - 18:38:47 EST


Andrew Morton wrote:
> On Thu, 12 Feb 2009 16:22:03 +0900
> KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:
>
>> Declaration of early_pfn_to_nid() is scattered over per-arch include
>> files,
>> and it seems it's complicated to know when the declaration is used.
>> I think it makes fix-for-memmap-init not easy.
>>
>> This patch moves all declaration to include/linux/mm.h
>>
>> After this,
>> if !CONFIG_NODES_POPULATES_NODE_MAP &&
>> !CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
>> -> Use static definition in include/linux/mm.h
>> else if !CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
>> -> Use generic definition in mm/page_alloc.c
>> else
>> -> per-arch back end function will be called.
>>
>> Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
>>
>> ---
>> arch/ia64/include/asm/mmzone.h | 4 ----
>> arch/ia64/mm/numa.c | 2 +-
>> arch/x86/include/asm/mmzone_32.h | 2 --
>> arch/x86/include/asm/mmzone_64.h | 2 --
>> arch/x86/mm/numa_64.c | 2 +-
>> include/linux/mm.h | 19 ++++++++++++++++---
>> mm/page_alloc.c | 8 +++++++-
>> 7 files changed, 25 insertions(+), 14 deletions(-)
>
> It's rather unfortunate that this bugfix includes a fair-sized cleanup
> patch, because we should backport it into 2.6.28.x.
>
> Oh well.
>
Sorry..but this part was too ugly to write a patch that convince me
this patch is correct. If I should rewrite, I'll do.

> I queued these as
>
> mm-clean-up-for-early_pfn_to_nid.patch
> mm-fix-memmap-init-for-handling-memory-hole.patch
>
> and tagged them as needed-in-2.6.28.x. I don't recall whether they are
> needed in earlier -stable releases?
>
Maybe necessary for some machines, which may access memory holes.

> I don't have a record here of davem having tested these new patches, btw
> ;)
Sorry for bad CC.
This fix's logic itself is not different from original one.

-Kame





--
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/