Messages in this thread Patch in this message | | | Date | Wed, 16 Dec 2015 14:50:01 +0100 | From | Peter Zijlstra <> | Subject | Re: 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); }
| |