Re: [PATCH] remove zone_mem_map

From: Christoph Lameter
Date: Tue Feb 21 2006 - 22:02:25 EST


On Wed, 22 Feb 2006, KAMEZAWA Hiroyuki wrote:

> This patch removes zone_mem_map.

Note that IA64 does not seem to depend on zone_mem_map...

> Index: test/include/asm-generic/memory_model.h
> ===================================================================
> --- test.orig/include/asm-generic/memory_model.h
> +++ test/include/asm-generic/memory_model.h
> @@ -47,9 +47,9 @@ extern unsigned long page_to_pfn(struct
>
> #define page_to_pfn(pg) \
> ({ struct page *__pg = (pg); \
> - struct zone *__zone = page_zone(__pg); \
> - (unsigned long)(__pg - __zone->zone_mem_map) + \
> - __zone->zone_start_pfn; \
> + struct pglist_data *__pgdat = NODE_DATA(page_to_nid(__pg)); \
> + (unsigned long)(__pg - __pgdat->node_mem_map) + \
> + __pgdat->node_start_pfn; \
> })

NODE_DATA is an arch specific lookup, If it always is a table lookup
then the performance will be comparable to page_zone because that also
involves one table lookup.
-
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/