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