Messages in this thread | | | Date | Tue, 29 Nov 2016 14:50:42 +0000 | From | Morten Rasmussen <> | Subject | Re: [PATCH 1/2 v2] sched: fix find_idlest_group for fork |
| |
On Tue, Nov 29, 2016 at 02:04:27PM +0100, Vincent Guittot wrote: > On 29 November 2016 at 11:57, Morten Rasmussen <morten.rasmussen@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.
Morten
| |