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.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 5b09488d0f55..8629c84fd9ba 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -4396,12 +4396,13 @@ static void setup_per_zone_lowmem_reserve(void)
4396} 4396}
4397 4397
4398/** 4398/**
4399 * setup_per_zone_pages_min - called when min_free_kbytes changes. 4399 * setup_per_zone_wmarks - called when min_free_kbytes changes
4400 * or when memory is hot-added
4400 * 4401 *
4401 * Ensures that the pages_{min,low,high} values for each zone are set correctly 4402 * Ensures that the watermark[min,low,high] values for each zone are set
4402 * with respect to min_free_kbytes. 4403 * correctly with respect to min_free_kbytes.
4403 */ 4404 */
4404void setup_per_zone_pages_min(void) 4405void setup_per_zone_wmarks(void)
4405{ 4406{
4406 unsigned long pages_min = min_free_kbytes >> (PAGE_SHIFT - 10); 4407 unsigned long pages_min = min_free_kbytes >> (PAGE_SHIFT - 10);
4407 unsigned long lowmem_pages = 0; 4408 unsigned long lowmem_pages = 0;
@@ -4519,7 +4520,7 @@ static void __init setup_per_zone_inactive_ratio(void)
4519 * 8192MB: 11584k 4520 * 8192MB: 11584k
4520 * 16384MB: 16384k 4521 * 16384MB: 16384k
4521 */ 4522 */
4522static int __init init_per_zone_pages_min(void) 4523static int __init init_per_zone_wmark_min(void)
4523{ 4524{
4524 unsigned long lowmem_kbytes; 4525 unsigned long lowmem_kbytes;
4525 4526
@@ -4530,12 +4531,12 @@ static int __init init_per_zone_pages_min(void)
4530 min_free_kbytes = 128; 4531 min_free_kbytes = 128;
4531 if (min_free_kbytes > 65536) 4532 if (min_free_kbytes > 65536)
4532 min_free_kbytes = 65536; 4533 min_free_kbytes = 65536;
4533 setup_per_zone_pages_min(); 4534 setup_per_zone_wmarks();
4534 setup_per_zone_lowmem_reserve(); 4535 setup_per_zone_lowmem_reserve();
4535 setup_per_zone_inactive_ratio(); 4536 setup_per_zone_inactive_ratio();
4536 return 0; 4537 return 0;
4537} 4538}
4538module_init(init_per_zone_pages_min) 4539module_init(init_per_zone_wmark_min)
4539 4540
4540/* 4541/*
4541 * min_free_kbytes_sysctl_handler - just a wrapper around proc_dointvec() so 4542 * min_free_kbytes_sysctl_handler - just a wrapper around proc_dointvec() so
@@ -4547,7 +4548,7 @@ int min_free_kbytes_sysctl_handler(ctl_table *table, int write,
4547{ 4548{
4548 proc_dointvec(table, write, file, buffer, length, ppos); 4549 proc_dointvec(table, write, file, buffer, length, ppos);
4549 if (write) 4550 if (write)
4550 setup_per_zone_pages_min(); 4551 setup_per_zone_wmarks();
4551 return 0; 4552 return 0;
4552} 4553}
4553 4554