lkml.org 
[lkml]   [2015]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: sched : performance regression 24% between 4.4rc4 and 4.3 kernel
On Wed, Dec 16, 2015 at 01:56:17PM +0100, Jirka Hladky wrote:
> Hi Rik,
>
> I have redone the bisecting and have new results:
>
> # first bad commit: [2a595721a1fa6b684c1c818f379bef834ac3d65e]
> sched/numa: Convert sched_numa_balancing to a static_branch
>
> Could you please have a look what went wrong?

The below is obviously wrong, but your kernel should have that patch.

So if you revert this patch (ie. go back to the regular variable) it
works again?

---

commit b52da86e0ad58f096710977fcda856fd84da9233
Author: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Date: Fri Oct 2 07:48:25 2015 +0530

sched/numa: Fix task_tick_fair() from disabling numa_balancing

If static branch 'sched_numa_balancing' is enabled, it should kickstart
NUMA balancing through task_tick_numa(). However the following commit:

2a595721a1fa ("sched/numa: Convert sched_numa_balancing to a static_branch")

erroneously disables this.

Fix this anomaly by enabling task_tick_numa() when the static branch
'sched_numa_balancing' is enabled.

Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Link: http://lkml.kernel.org/r/1443752305-27413-1-git-send-email-srikar@linux.vnet.ibm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>

diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index 4df37a48f499..3bdc3da7bc6a 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -7881,7 +7881,7 @@ static void task_tick_fair(struct rq *rq, struct task_struct *curr, int queued)
entity_tick(cfs_rq, se, queued);
}

- if (!static_branch_unlikely(&sched_numa_balancing))
+ if (static_branch_unlikely(&sched_numa_balancing))
task_tick_numa(rq, curr);
}


\
 
 \ /
  Last update: 2015-12-16 15:21    [W:0.432 / U:0.796 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site