The patch titled mem_map is part of the FLATMEM model has been removed from the -mm tree. Its filename is mem_map-is-part-of-the-flatmem-model.patch This patch was dropped because it had testing failures ------------------------------------------------------ Subject: mem_map is part of the FLATMEM model From: Andy Whitcroft <apw@xxxxxxxxxxxx> It seems that the definition and declaration of mem_map are inconsistent meaning we get usless undirected link failures about mem_map when its being used when it shouldn't be. Reviewing mem_map, its actually only valid and initialised when CONFIG_FLATMEM is defined. Indeed in all essence it is part of that memory model used out of FLATMEM's __pfn_to_page etc. mem_map (and max_mapnr) should only be defined and declared when the FLATMEM memory model is selected. Signed-off-by: Andy Whitcroft <apw@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- include/linux/mm.h | 6 +++--- include/linux/mmzone.h | 5 ++++- mm/memory.c | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff -puN include/linux/mm.h~mem_map-is-part-of-the-flatmem-model include/linux/mm.h --- devel/include/linux/mm.h~mem_map-is-part-of-the-flatmem-model 2006-06-09 11:36:03.000000000 -0700 +++ devel-akpm/include/linux/mm.h 2006-06-09 11:36:03.000000000 -0700 @@ -18,7 +18,7 @@ struct mempolicy; struct anon_vma; -#ifndef CONFIG_DISCONTIGMEM /* Don't use mapnrs, do it properly */ +#ifdef CONFIG_FLATMEM /* Don't use mapnrs, do it properly */ extern unsigned long max_mapnr; #endif @@ -521,8 +521,8 @@ static inline void set_page_links(struct set_page_section(page, pfn_to_section_nr(pfn)); } -#ifndef CONFIG_DISCONTIGMEM -/* The array of struct pages - for discontigmem use pgdat->lmem_map */ +#ifdef CONFIG_FLATMEM +/* The array of struct pages, only used in FLATMEM */ extern struct page *mem_map; #endif diff -puN include/linux/mmzone.h~mem_map-is-part-of-the-flatmem-model include/linux/mmzone.h --- devel/include/linux/mmzone.h~mem_map-is-part-of-the-flatmem-model 2006-06-09 11:36:03.000000000 -0700 +++ devel-akpm/include/linux/mmzone.h 2006-06-09 11:36:03.000000000 -0700 @@ -418,11 +418,14 @@ int percpu_pagelist_fraction_sysctl_hand #define numa_node_id() (cpu_to_node(raw_smp_processor_id())) #endif +#ifdef CONFIG_FLATMEM +#define NODE_MEM_MAP(nid) mem_map +#endif + #ifndef CONFIG_NEED_MULTIPLE_NODES extern struct pglist_data contig_page_data; #define NODE_DATA(nid) (&contig_page_data) -#define NODE_MEM_MAP(nid) mem_map #define MAX_NODES_SHIFT 1 #else /* CONFIG_NEED_MULTIPLE_NODES */ diff -puN mm/memory.c~mem_map-is-part-of-the-flatmem-model mm/memory.c --- devel/mm/memory.c~mem_map-is-part-of-the-flatmem-model 2006-06-09 11:36:03.000000000 -0700 +++ devel-akpm/mm/memory.c 2006-06-09 11:36:03.000000000 -0700 @@ -58,7 +58,7 @@ #include <linux/swapops.h> #include <linux/elf.h> -#ifndef CONFIG_NEED_MULTIPLE_NODES +#ifdef CONFIG_FLATMEM /* use the per-pgdat data instead for discontigmem - mbligh */ unsigned long max_mapnr; struct page *mem_map; _ Patches currently in -mm which might be from apw@xxxxxxxxxxxx are zone-init-check-and-report-unaligned-zone-boundaries.patch x86-align-highmem-zone-boundaries-with-numa.patch zone-allow-unaligned-zone-boundaries.patch zone-allow-unaligned-zone-boundaries-x86-add-zone-alignment-qualifier.patch pg_uncached-is-ia64-only.patch squash-duplicate-page_to_pfn-and-pfn_to_page.patch flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch sparsemem-record-nid-during-memory-present.patch mem_map-is-part-of-the-flatmem-model.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html