[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>
This commit is contained in:
parent
2bdaf115b1
commit
161599ff39
|
@ -596,7 +596,11 @@ static inline int pfn_valid(unsigned long pfn)
|
|||
* this restriction.
|
||||
*/
|
||||
#ifdef CONFIG_NUMA
|
||||
#define pfn_to_nid early_pfn_to_nid
|
||||
#define pfn_to_nid(pfn) \
|
||||
({ \
|
||||
unsigned long __pfn_to_nid_pfn = (pfn); \
|
||||
page_to_nid(pfn_to_page(__pfn_to_nid_pfn)); \
|
||||
})
|
||||
#else
|
||||
#define pfn_to_nid(pfn) (0)
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue