summaryrefslogtreecommitdiffstats
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
authorAndrea Arcangeli <aarcange@redhat.com>2012-03-23 20:56:34 +0100
committerMel Gorman <mgorman@suse.de>2012-12-11 14:42:50 +0000
commit8177a420ed7c16c171ed3c3aec5b0676db38c247 (patch)
tree9d188c65d68af5a8f77913043ab8689c5530508b /mm/page_alloc.c
parent9532fec118d485ea37ab6e3ea372d68cd8b4cd0d (diff)
downloadlinux-8177a420ed7c16c171ed3c3aec5b0676db38c247.tar.gz
linux-8177a420ed7c16c171ed3c3aec5b0676db38c247.tar.bz2
linux-8177a420ed7c16c171ed3c3aec5b0676db38c247.zip
mm: numa: Structures for Migrate On Fault per NUMA migration rate limiting
This defines the per-node data used by Migrate On Fault in order to rate limit the migration. The rate limiting is applied independently to each destination node. Signed-off-by: Andrea Arcangeli <aarcange@redhat.com> Signed-off-by: Mel Gorman <mgorman@suse.de>
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 5953dc2d196f..ef025e20dbee 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -4449,6 +4449,11 @@ static void __paginginit free_area_init_core(struct pglist_data *pgdat,
int ret;
pgdat_resize_init(pgdat);
+#ifdef CONFIG_NUMA_BALANCING
+ spin_lock_init(&pgdat->numabalancing_migrate_lock);
+ pgdat->numabalancing_migrate_nr_pages = 0;
+ pgdat->numabalancing_migrate_next_window = jiffies;
+#endif
init_waitqueue_head(&pgdat->kswapd_wait);
init_waitqueue_head(&pgdat->pfmemalloc_wait);
pgdat_page_cgroup_init(pgdat);