diff options
author | Yasunori Goto <y-goto@jp.fujitsu.com> | 2006-06-23 05:03:09 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-23 10:42:46 -0400 |
commit | 86356ab147669bd3bcb2149fd9561d1280835c24 (patch) | |
tree | bedc7113593e0f6a91aff18bb506fc3327516d81 | |
parent | 02b694dea473ad3db1e2d1b14c1fef8fbd92e5e6 (diff) |
[PATCH] wait_table and zonelist initializing for memory hotadd: change to meminit for build_zonelist
Change definitions of some functions and data from __init to __meminit.
These functions and data can be used after bootup by this patch to be used for
hot-add codes.
Signed-off-by: Yasunori Goto <y-goto@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | include/linux/bootmem.h | 4 | ||||
-rw-r--r-- | mm/page_alloc.c | 18 |
2 files changed, 11 insertions, 11 deletions
diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h index da2d107fe2cf..22866fa2d960 100644 --- a/include/linux/bootmem.h +++ b/include/linux/bootmem.h | |||
@@ -91,8 +91,8 @@ static inline void *alloc_remap(int nid, unsigned long size) | |||
91 | } | 91 | } |
92 | #endif | 92 | #endif |
93 | 93 | ||
94 | extern unsigned long __initdata nr_kernel_pages; | 94 | extern unsigned long nr_kernel_pages; |
95 | extern unsigned long __initdata nr_all_pages; | 95 | extern unsigned long nr_all_pages; |
96 | 96 | ||
97 | extern void *__init alloc_large_system_hash(const char *tablename, | 97 | extern void *__init alloc_large_system_hash(const char *tablename, |
98 | unsigned long bucketsize, | 98 | unsigned long bucketsize, |
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 27320a0542d3..5ae75bead4df 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -83,8 +83,8 @@ EXPORT_SYMBOL(zone_table); | |||
83 | static char *zone_names[MAX_NR_ZONES] = { "DMA", "DMA32", "Normal", "HighMem" }; | 83 | static char *zone_names[MAX_NR_ZONES] = { "DMA", "DMA32", "Normal", "HighMem" }; |
84 | int min_free_kbytes = 1024; | 84 | int min_free_kbytes = 1024; |
85 | 85 | ||
86 | unsigned long __initdata nr_kernel_pages; | 86 | unsigned long __meminitdata nr_kernel_pages; |
87 | unsigned long __initdata nr_all_pages; | 87 | unsigned long __meminitdata nr_all_pages; |
88 | 88 | ||
89 | #ifdef CONFIG_DEBUG_VM | 89 | #ifdef CONFIG_DEBUG_VM |
90 | static int page_outside_zone_boundaries(struct zone *zone, struct page *page) | 90 | static int page_outside_zone_boundaries(struct zone *zone, struct page *page) |
@@ -1517,7 +1517,7 @@ void show_free_areas(void) | |||
1517 | * | 1517 | * |
1518 | * Add all populated zones of a node to the zonelist. | 1518 | * Add all populated zones of a node to the zonelist. |
1519 | */ | 1519 | */ |
1520 | static int __init build_zonelists_node(pg_data_t *pgdat, | 1520 | static int __meminit build_zonelists_node(pg_data_t *pgdat, |
1521 | struct zonelist *zonelist, int nr_zones, int zone_type) | 1521 | struct zonelist *zonelist, int nr_zones, int zone_type) |
1522 | { | 1522 | { |
1523 | struct zone *zone; | 1523 | struct zone *zone; |
@@ -1553,7 +1553,7 @@ static inline int highest_zone(int zone_bits) | |||
1553 | 1553 | ||
1554 | #ifdef CONFIG_NUMA | 1554 | #ifdef CONFIG_NUMA |
1555 | #define MAX_NODE_LOAD (num_online_nodes()) | 1555 | #define MAX_NODE_LOAD (num_online_nodes()) |
1556 | static int __initdata node_load[MAX_NUMNODES]; | 1556 | static int __meminitdata node_load[MAX_NUMNODES]; |
1557 | /** | 1557 | /** |
1558 | * find_next_best_node - find the next node that should appear in a given node's fallback list | 1558 | * find_next_best_node - find the next node that should appear in a given node's fallback list |
1559 | * @node: node whose fallback list we're appending | 1559 | * @node: node whose fallback list we're appending |
@@ -1568,7 +1568,7 @@ static int __initdata node_load[MAX_NUMNODES]; | |||
1568 | * on them otherwise. | 1568 | * on them otherwise. |
1569 | * It returns -1 if no node is found. | 1569 | * It returns -1 if no node is found. |
1570 | */ | 1570 | */ |
1571 | static int __init find_next_best_node(int node, nodemask_t *used_node_mask) | 1571 | static int __meminit find_next_best_node(int node, nodemask_t *used_node_mask) |
1572 | { | 1572 | { |
1573 | int n, val; | 1573 | int n, val; |
1574 | int min_val = INT_MAX; | 1574 | int min_val = INT_MAX; |
@@ -1614,7 +1614,7 @@ static int __init find_next_best_node(int node, nodemask_t *used_node_mask) | |||
1614 | return best_node; | 1614 | return best_node; |
1615 | } | 1615 | } |
1616 | 1616 | ||
1617 | static void __init build_zonelists(pg_data_t *pgdat) | 1617 | static void __meminit build_zonelists(pg_data_t *pgdat) |
1618 | { | 1618 | { |
1619 | int i, j, k, node, local_node; | 1619 | int i, j, k, node, local_node; |
1620 | int prev_node, load; | 1620 | int prev_node, load; |
@@ -1666,7 +1666,7 @@ static void __init build_zonelists(pg_data_t *pgdat) | |||
1666 | 1666 | ||
1667 | #else /* CONFIG_NUMA */ | 1667 | #else /* CONFIG_NUMA */ |
1668 | 1668 | ||
1669 | static void __init build_zonelists(pg_data_t *pgdat) | 1669 | static void __meminit build_zonelists(pg_data_t *pgdat) |
1670 | { | 1670 | { |
1671 | int i, j, k, node, local_node; | 1671 | int i, j, k, node, local_node; |
1672 | 1672 | ||
@@ -2071,7 +2071,7 @@ static __meminit void init_currently_empty_zone(struct zone *zone, | |||
2071 | * - mark all memory queues empty | 2071 | * - mark all memory queues empty |
2072 | * - clear the memory bitmaps | 2072 | * - clear the memory bitmaps |
2073 | */ | 2073 | */ |
2074 | static void __init free_area_init_core(struct pglist_data *pgdat, | 2074 | static void __meminit free_area_init_core(struct pglist_data *pgdat, |
2075 | unsigned long *zones_size, unsigned long *zholes_size) | 2075 | unsigned long *zones_size, unsigned long *zholes_size) |
2076 | { | 2076 | { |
2077 | unsigned long j; | 2077 | unsigned long j; |
@@ -2159,7 +2159,7 @@ static void __init alloc_node_mem_map(struct pglist_data *pgdat) | |||
2159 | #endif /* CONFIG_FLAT_NODE_MEM_MAP */ | 2159 | #endif /* CONFIG_FLAT_NODE_MEM_MAP */ |
2160 | } | 2160 | } |
2161 | 2161 | ||
2162 | void __init free_area_init_node(int nid, struct pglist_data *pgdat, | 2162 | void __meminit free_area_init_node(int nid, struct pglist_data *pgdat, |
2163 | unsigned long *zones_size, unsigned long node_start_pfn, | 2163 | unsigned long *zones_size, unsigned long node_start_pfn, |
2164 | unsigned long *zholes_size) | 2164 | unsigned long *zholes_size) |
2165 | { | 2165 | { |