aboutsummaryrefslogtreecommitdiffstats
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c12
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
1730static inline unsigned long wait_table_size(unsigned long pages) 1730static 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