From: Rik van Riel <r...@redhat.com> commit 096aa33863a5e48de52d2ff30e0801b7487944f4 upstream
Affine wakeups have the potential to interfere with NUMA placement. If a task wakes up too many other tasks, affine wakeups will get disabled. However, regardless of how many other tasks it wakes up, it gets re-enabled once a second, potentially interfering with NUMA placement of other tasks. By decaying wakee_wakes in half instead of zeroing it, we can avoid that problem for some workloads. Signed-off-by: Rik van Riel <r...@redhat.com> Signed-off-by: Peter Zijlstra <pet...@infradead.org> Cc: chegu_vi...@hp.com Cc: umgwanakikb...@gmail.com Link: http://lkml.kernel.org/r/20140516001332.67f91...@annuminas.surriel.com Signed-off-by: Ingo Molnar <mi...@kernel.org> Signed-off-by: Yang Shi <yang....@windriver.com> --- kernel/sched/fair.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 0afd990..bd46512 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4052,7 +4052,7 @@ static void record_wakee(struct task_struct *p) * about the loss. */ if (jiffies > current->wakee_flip_decay_ts + HZ) { - current->wakee_flips = 0; + current->wakee_flips >>= 1; current->wakee_flip_decay_ts = jiffies; } -- 2.0.2 -- _______________________________________________ linux-yocto mailing list linux-yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/linux-yocto