diff options
Diffstat (limited to 'include/linux/mmzone.h')
-rw-r--r-- | include/linux/mmzone.h | 12 |
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); | |||
333 | int zone_watermark_ok(struct zone *z, int order, unsigned long mark, | 333 | int 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 | ||
336 | extern 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 |
337 | void memory_present(int nid, unsigned long start, unsigned long end); | 340 | void 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 | ||
549 | static inline struct page *__section_mem_map_addr(struct mem_section *section) | 557 | static inline struct page *__section_mem_map_addr(struct mem_section *section) |
550 | { | 558 | { |