diff options
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index fd631c2536a5..27320a0542d3 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -1727,7 +1727,7 @@ void __init build_all_zonelists(void) | |||
1727 | */ | 1727 | */ |
1728 | #define PAGES_PER_WAITQUEUE 256 | 1728 | #define PAGES_PER_WAITQUEUE 256 |
1729 | 1729 | ||
1730 | static inline unsigned long wait_table_size(unsigned long pages) | 1730 | static inline unsigned long wait_table_hash_nr_entries(unsigned long pages) |
1731 | { | 1731 | { |
1732 | unsigned long size = 1; | 1732 | unsigned long size = 1; |
1733 | 1733 | ||
@@ -2019,13 +2019,15 @@ void zone_wait_table_init(struct zone *zone, unsigned long zone_size_pages) | |||
2019 | * The per-page waitqueue mechanism uses hashed waitqueues | 2019 | * The per-page waitqueue mechanism uses hashed waitqueues |
2020 | * per zone. | 2020 | * per zone. |
2021 | */ | 2021 | */ |
2022 | zone->wait_table_size = wait_table_size(zone_size_pages); | 2022 | zone->wait_table_hash_nr_entries = |
2023 | zone->wait_table_bits = wait_table_bits(zone->wait_table_size); | 2023 | wait_table_hash_nr_entries(zone_size_pages); |
2024 | zone->wait_table_bits = | ||
2025 | wait_table_bits(zone->wait_table_hash_nr_entries); | ||
2024 | zone->wait_table = (wait_queue_head_t *) | 2026 | zone->wait_table = (wait_queue_head_t *) |
2025 | alloc_bootmem_node(pgdat, zone->wait_table_size | 2027 | alloc_bootmem_node(pgdat, zone->wait_table_hash_nr_entries |
2026 | * sizeof(wait_queue_head_t)); | 2028 | * sizeof(wait_queue_head_t)); |
2027 | 2029 | ||
2028 | for(i = 0; i < zone->wait_table_size; ++i) | 2030 | for(i = 0; i < zone->wait_table_hash_nr_entries; ++i) |
2029 | init_waitqueue_head(zone->wait_table + i); | 2031 | init_waitqueue_head(zone->wait_table + i); |
2030 | } | 2032 | } |
2031 | 2033 | ||