On 29 November 2016 at 15:50, Morten Rasmussen <morten.rasmus...@arm.com> wrote:
> On Tue, Nov 29, 2016 at 02:04:27PM +0100, Vincent Guittot wrote:
>> On 29 November 2016 at 11:57, Morten Rasmussen <morten.rasmus...@arm.com> 
>> wrote:
>> > On Fri, Nov 25, 2016 at 04:34:32PM +0100, Vincent Guittot wrote:
>> >> @@ -5708,13 +5708,6 @@ static int select_idle_cpu(struct task_struct *p, 
>> >> struct sched_domain *sd, int t
>> >>
>> >>       avg_cost = this_sd->avg_scan_cost;
>> >>
>> >> -     /*
>> >> -      * Due to large variance we need a large fuzz factor; hackbench in
>> >> -      * particularly is sensitive here.
>> >> -      */
>> >> -     if ((avg_idle / 512) < avg_cost)
>> >> -             return -1;
>> >> -
>> >>       time = local_clock();
>> >>
>> >>       for_each_cpu_wrap(cpu, sched_domain_span(sd), target, wrap) {
>> >
>> > I don't quite get this fix, but it is very likely because I haven't paid
>> > enough attention.
>> >
>> > Are you saying that removing the avg_cost check is improving hackbench
>> > performance? I thought it was supposed to help hackbench? I'm confused
>> > :-(
>>
>> Yes, avg_cost check prevents some tasks migration at the end of the
>> tests when some threads have already finished their loop letting some
>> CPUs idle whereas others threads are still competing on the same CPUS
>
> Okay, thanks.
>
>> > Should we do the same for SD_BALANCE_EXEC?
>>
>> I asked myself if i should add SD_BALANCE_EXEC but decided to only
>> keep SD_BALANCE_FORK for now as no regression has been raised for now.
>
> Fair enough.
>
> FWIW, with the label renaming suggested by mfleming, you can add my
> reviewed/acked-by if you like.

Thanks

>
> Morten

Reply via email to