lkml.org 
[lkml]   [2015]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: sched : performance regression 24% between 4.4rc4 and 4.3 kernel
From
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);
>> > }
>> >
>
>


\
 
 \ /
  Last update: 2015-12-17 17:01    [W:0.224 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site