aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mmzone.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mmzone.h')
-rw-r--r--include/linux/mmzone.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 9742e3c16222..d6120fa69116 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -197,7 +197,7 @@ struct zone {
197 197
198 /* 198 /*
199 * wait_table -- the array holding the hash table 199 * wait_table -- the array holding the hash table
200 * wait_table_size -- the size of the hash table array 200 * wait_table_hash_nr_entries -- the size of the hash table array
201 * wait_table_bits -- wait_table_size == (1 << wait_table_bits) 201 * wait_table_bits -- wait_table_size == (1 << wait_table_bits)
202 * 202 *
203 * The purpose of all these is to keep track of the people 203 * The purpose of all these is to keep track of the people
@@ -220,7 +220,7 @@ struct zone {
220 * free_area_init_core() performs the initialization of them. 220 * free_area_init_core() performs the initialization of them.
221 */ 221 */
222 wait_queue_head_t * wait_table; 222 wait_queue_head_t * wait_table;
223 unsigned long wait_table_size; 223 unsigned long wait_table_hash_nr_entries;
224 unsigned long wait_table_bits; 224 unsigned long wait_table_bits;
225 225
226 /* 226 /*
@@ -333,6 +333,9 @@ void wakeup_kswapd(struct zone *zone, int order);
333int zone_watermark_ok(struct zone *z, int order, unsigned long mark, 333int zone_watermark_ok(struct zone *z, int order, unsigned long mark,
334 int classzone_idx, int alloc_flags); 334 int classzone_idx, int alloc_flags);
335 335
336extern int init_currently_empty_zone(struct zone *zone, unsigned long start_pfn,
337 unsigned long size);
338
336#ifdef CONFIG_HAVE_MEMORY_PRESENT 339#ifdef CONFIG_HAVE_MEMORY_PRESENT
337void memory_present(int nid, unsigned long start, unsigned long end); 340void memory_present(int nid, unsigned long start, unsigned long end);
338#else 341#else
@@ -506,6 +509,10 @@ struct mem_section {
506 * pages. However, it is stored with some other magic. 509 * pages. However, it is stored with some other magic.
507 * (see sparse.c::sparse_init_one_section()) 510 * (see sparse.c::sparse_init_one_section())
508 * 511 *
512 * Additionally during early boot we encode node id of
513 * the location of the section here to guide allocation.
514 * (see sparse.c::memory_present())
515 *
509 * Making it a UL at least makes someone do a cast 516 * Making it a UL at least makes someone do a cast
510 * before using it wrong. 517 * before using it wrong.
511 */ 518 */
@@ -545,6 +552,7 @@ extern int __section_nr(struct mem_section* ms);
545#define SECTION_HAS_MEM_MAP (1UL<<1) 552#define SECTION_HAS_MEM_MAP (1UL<<1)
546#define SECTION_MAP_LAST_BIT (1UL<<2) 553#define SECTION_MAP_LAST_BIT (1UL<<2)
547#define SECTION_MAP_MASK (~(SECTION_MAP_LAST_BIT-1)) 554#define SECTION_MAP_MASK (~(SECTION_MAP_LAST_BIT-1))
555#define SECTION_NID_SHIFT 2
548 556
549static inline struct page *__section_mem_map_addr(struct mem_section *section) 557static inline struct page *__section_mem_map_addr(struct mem_section *section)
550{ 558{