Messages in this thread | | | Date | Thu, 17 Dec 2015 16:43:44 +0100 | Subject | Re: sched : performance regression 24% between 4.4rc4 and 4.3 kernel | From | Jirka Hladky <> |
| |
Hi Peter,
I'm not sure how to do the bisecting and avoid landing at:
[2a595721a1fa6b684c1c818f379bef834ac3d65e] sched/numa: Convert sched_numa_balancing to a static_branch
I have redone the bisecting but I have landed again at this commit. Can you please help me to identify the commit which has fixed for 2a595721a1fa6b684c1c818f379bef834ac3d65e ? I think I will need to start the bisecting from there.
Thanks Jirka
> > > On Wed, Dec 16, 2015 at 6:04 PM, Jirka Hladky <jhladky@redhat.com> wrote: >> >> Hi Peter, >> >> you are right the kernel 4.4-rc4 has it already fixed. It seems I >> will need to redo the bisecting once again, starting with >> 2a595721a1fa6b684c1c818f379bef834ac3d65e >> >> git bisect start -- kernel/sched >> git bisect bad v4.4-rc4 >> git bisect good 2b49d84b259fc18e131026e5d38e7855352f71b9 >> Bisecting: 32 revisions left to test after this (roughly 5 steps) >> [da7142e2ed735e1c1bef5a757dc55de35c65fbd6] sched/core: Simplify >> preempt_count tests >> >> I will let you know the outcome. >> >> Jirka >> >> >> On Wed, Dec 16, 2015 at 2:50 PM, Peter Zijlstra <peterz@infradead.org> wrote: >> > 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); >> > } >> > > >
| |