aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Whitcroft <apw@shadowen.org>2006-01-06 03:10:54 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-06 11:33:24 -0500
commit161599ff39a3c3cdea0a1be05ac53accd2c45cdd (patch)
tree9943c93c97dcf042f5ec7c5fab011be655d8212a
parent2bdaf115b1c364d89484b59d5b937973f1c5a5c3 (diff)
[PATCH] sparsemem: provide pfn_to_nid
Before SPARSEMEM is initialised we cannot provide an efficient pfn_to_nid() implmentation; before initialisation is complete we use early_pfn_to_nid() to provide location information. Until recently there was no non-init user of this functionality. Provide a post init pfn_to_nid() implementation. Note that this implmentation assumes that the pfn passed has been validated with pfn_valid(). The current single user of this function already has this check. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--include/linux/mmzone.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index ee9f7b74e613..8cba76c6a28c 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -596,7 +596,11 @@ static inline int pfn_valid(unsigned long pfn)
596 * this restriction. 596 * this restriction.
597 */ 597 */
598#ifdef CONFIG_NUMA 598#ifdef CONFIG_NUMA
599#define pfn_to_nid early_pfn_to_nid 599#define pfn_to_nid(pfn) \
600({ \
601 unsigned long __pfn_to_nid_pfn = (pfn); \
602 page_to_nid(pfn_to_page(__pfn_to_nid_pfn)); \
603})
600#else 604#else
601#define pfn_to_nid(pfn) (0) 605#define pfn_to_nid(pfn) (0)
602#endif 606#endif