diff options
Diffstat (limited to 'mm/page_alloc.c')
| -rw-r--r-- | mm/page_alloc.c | 27 | 
1 files changed, 25 insertions, 2 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 5675b3073854..5c44ed49ca93 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c  | |||
| @@ -2989,7 +2989,7 @@ static int __meminit next_active_region_index_in_nid(int index, int nid) | |||
| 2989 | * was used and there are no special requirements, this is a convenient | 2989 | * was used and there are no special requirements, this is a convenient | 
| 2990 | * alternative | 2990 | * alternative | 
| 2991 | */ | 2991 | */ | 
| 2992 | int __meminit early_pfn_to_nid(unsigned long pfn) | 2992 | int __meminit __early_pfn_to_nid(unsigned long pfn) | 
| 2993 | { | 2993 | { | 
| 2994 | int i; | 2994 | int i; | 
| 2995 | 2995 | ||
| @@ -3000,10 +3000,33 @@ int __meminit early_pfn_to_nid(unsigned long pfn) | |||
| 3000 | if (start_pfn <= pfn && pfn < end_pfn) | 3000 | if (start_pfn <= pfn && pfn < end_pfn) | 
| 3001 | return early_node_map[i].nid; | 3001 | return early_node_map[i].nid; | 
| 3002 | } | 3002 | } | 
| 3003 | /* This is a memory hole */ | ||
| 3004 | return -1; | ||
| 3005 | } | ||
| 3006 | #endif /* CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID */ | ||
| 3007 | |||
| 3008 | int __meminit early_pfn_to_nid(unsigned long pfn) | ||
| 3009 | { | ||
| 3010 | int nid; | ||
| 3003 | 3011 | ||
| 3012 | nid = __early_pfn_to_nid(pfn); | ||
| 3013 | if (nid >= 0) | ||
| 3014 | return nid; | ||
| 3015 | /* just returns 0 */ | ||
| 3004 | return 0; | 3016 | return 0; | 
| 3005 | } | 3017 | } | 
| 3006 | #endif /* CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID */ | 3018 | |
| 3019 | #ifdef CONFIG_NODES_SPAN_OTHER_NODES | ||
| 3020 | bool __meminit early_pfn_in_nid(unsigned long pfn, int node) | ||
| 3021 | { | ||
| 3022 | int nid; | ||
| 3023 | |||
| 3024 | nid = __early_pfn_to_nid(pfn); | ||
| 3025 | if (nid >= 0 && nid != node) | ||
| 3026 | return false; | ||
| 3027 | return true; | ||
| 3028 | } | ||
| 3029 | #endif | ||
| 3007 | 3030 | ||
| 3008 | /* Basic iterator support to walk early_node_map[] */ | 3031 | /* Basic iterator support to walk early_node_map[] */ | 
| 3009 | #define for_each_active_range_index_in_nid(i, nid) \ | 3032 | #define for_each_active_range_index_in_nid(i, nid) \ | 
