diff options
author | Peter Zijlstra <peterz@infradead.org> | 2013-10-07 06:28:52 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-10-09 06:40:09 -0400 |
commit | 9e645ab6d089f5822479a833c6977c785bcfffe3 (patch) | |
tree | 5f3de0a077588419e0a62e2eccd81c68a51c7de4 /kernel | |
parent | 19a78d110d7a8045aeb90d38ee8fe9743ce88c2d (diff) |
sched/numa: Continue PTE scanning even if migrate rate limited
Avoiding marking PTEs pte_numa because a particular NUMA node is migrate rate
limited sees like a bad idea. Even if this node can't migrate anymore other
nodes might and we want up-to-date information to do balance decisions.
We already rate limit the actual migrations, this should leave enough
bandwidth to allow the non-migrating scanning. I think its important we
keep up-to-date information if we're going to do placement based on it.
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Mel Gorman <mgorman@suse.de>
Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/1381141781-10992-15-git-send-email-mgorman@suse.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/sched/fair.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 573d815e80af..464207fc9eef 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c | |||
@@ -951,14 +951,6 @@ void task_numa_work(struct callback_head *work) | |||
951 | */ | 951 | */ |
952 | p->node_stamp += 2 * TICK_NSEC; | 952 | p->node_stamp += 2 * TICK_NSEC; |
953 | 953 | ||
954 | /* | ||
955 | * Do not set pte_numa if the current running node is rate-limited. | ||
956 | * This loses statistics on the fault but if we are unwilling to | ||
957 | * migrate to this node, it is less likely we can do useful work | ||
958 | */ | ||
959 | if (migrate_ratelimited(numa_node_id())) | ||
960 | return; | ||
961 | |||
962 | start = mm->numa_scan_offset; | 954 | start = mm->numa_scan_offset; |
963 | pages = sysctl_numa_balancing_scan_size; | 955 | pages = sysctl_numa_balancing_scan_size; |
964 | pages <<= 20 - PAGE_SHIFT; /* MB in pages */ | 956 | pages <<= 20 - PAGE_SHIFT; /* MB in pages */ |