Commit-ID: 42c24878c3be377c8ba2d4f88c463651f30b65d3 Gitweb: http://git.kernel.org/tip/42c24878c3be377c8ba2d4f88c463651f30b65d3 Author: Ingo Molnar <mingo@xxxxxxxxxx> AuthorDate: Thu, 22 Nov 2012 22:36:54 +0100 Committer: Ingo Molnar <mingo@xxxxxxxxxx> CommitDate: Mon, 3 Dec 2012 10:19:34 +0100 sched: Average the fault stats longer We will rely on the per CPU fault statistics and its shared/private derivative even more in the future, so stabilize this metric even better. The staged updates introduced in commit: sched: Introduce staged average NUMA faults Already stabilized this key metric significantly, but in real workloads it was still reacting to temporary load balancing transients too quickly. Slow down by weighting the average. The weighting value was found via experimentation. Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> --- kernel/sched/fair.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 24a5588..a5f3ad7 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -914,8 +914,8 @@ static void task_numa_placement(struct task_struct *p) p->numa_faults_curr[idx] = 0; /* Keep a simple running average: */ - p->numa_faults[idx] += new_faults; - p->numa_faults[idx] /= 2; + p->numa_faults[idx] = p->numa_faults[idx]*7 + new_faults; + p->numa_faults[idx] /= 8; faults += p->numa_faults[idx]; total[priv] += p->numa_faults[idx]; -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html