diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/page_alloc.c | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index d461b23a27a1..f66538b3c31b 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -664,6 +664,26 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order, | |||
664 | return i; | 664 | return i; |
665 | } | 665 | } |
666 | 666 | ||
667 | #if MAX_NUMNODES > 1 | ||
668 | int nr_node_ids __read_mostly; | ||
669 | EXPORT_SYMBOL(nr_node_ids); | ||
670 | |||
671 | /* | ||
672 | * Figure out the number of possible node ids. | ||
673 | */ | ||
674 | static void __init setup_nr_node_ids(void) | ||
675 | { | ||
676 | unsigned int node; | ||
677 | unsigned int highest = 0; | ||
678 | |||
679 | for_each_node_mask(node, node_possible_map) | ||
680 | highest = node; | ||
681 | nr_node_ids = highest + 1; | ||
682 | } | ||
683 | #else | ||
684 | static void __init setup_nr_node_ids(void) {} | ||
685 | #endif | ||
686 | |||
667 | #ifdef CONFIG_NUMA | 687 | #ifdef CONFIG_NUMA |
668 | /* | 688 | /* |
669 | * Called from the slab reaper to drain pagesets on a particular node that | 689 | * Called from the slab reaper to drain pagesets on a particular node that |
@@ -3169,6 +3189,7 @@ static int __init init_per_zone_pages_min(void) | |||
3169 | min_free_kbytes = 65536; | 3189 | min_free_kbytes = 65536; |
3170 | setup_per_zone_pages_min(); | 3190 | setup_per_zone_pages_min(); |
3171 | setup_per_zone_lowmem_reserve(); | 3191 | setup_per_zone_lowmem_reserve(); |
3192 | setup_nr_node_ids(); | ||
3172 | return 0; | 3193 | return 0; |
3173 | } | 3194 | } |
3174 | module_init(init_per_zone_pages_min) | 3195 | module_init(init_per_zone_pages_min) |
@@ -3370,18 +3391,4 @@ EXPORT_SYMBOL(pfn_to_page); | |||
3370 | EXPORT_SYMBOL(page_to_pfn); | 3391 | EXPORT_SYMBOL(page_to_pfn); |
3371 | #endif /* CONFIG_OUT_OF_LINE_PFN_TO_PAGE */ | 3392 | #endif /* CONFIG_OUT_OF_LINE_PFN_TO_PAGE */ |
3372 | 3393 | ||
3373 | #if MAX_NUMNODES > 1 | ||
3374 | /* | ||
3375 | * Find the highest possible node id. | ||
3376 | */ | ||
3377 | int highest_possible_node_id(void) | ||
3378 | { | ||
3379 | unsigned int node; | ||
3380 | unsigned int highest = 0; | ||
3381 | 3394 | ||
3382 | for_each_node_mask(node, node_possible_map) | ||
3383 | highest = node; | ||
3384 | return highest; | ||
3385 | } | ||
3386 | EXPORT_SYMBOL(highest_possible_node_id); | ||
3387 | #endif | ||