[PATCH 0/2] SPARSEMEM: pfn_to_nid implementation v2

From: Andy Whitcroft
Date: Tue Nov 22 2005 - 13:08:02 EST


There are three places we define pfn_to_nid(). Two in linux/mmzone.h
and one in asm/mmzone.h. These in essence represent the three memory
models. The definition in linux/mmzone.h under !NEED_MULTIPLE_NODES
is both the FLATMEM definition and the optimisation for single
NUMA nodes; the one under SPARSEMEM is the NUMA sparsemem one;
the one in asm/mmzone.h under DISCONTIGMEM is the discontigmem one.
This is not in the least bit obvious, particularly the connection
between the non-NUMA optimisations and the memory models.

Following in the email are two patches:

flatmem-split-out-memory-model: simplifies the selection of
pfn_to_nid() implementations. The selection is based primarily
off the memory model selected. Optimisations for non-NUMA are
applied where needed.

sparse-provide-pfn_to_nid: implement pfn_to_nid() for SPARSEMEM

Boot tested on for both SPARSEMEM and DISCONTIGMEM on all my test
boxes. Also compile tested for FLATMEM and SPARSEMEM without NUMA.
Against 2.6.15-rc2.

Next I'll review the configuration options to see if we can simplify
them any.

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