Messages in this thread | | | Date | Tue, 10 Nov 2020 17:50:15 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v3] sched/fair: prefer prev cpu in asymmetric wakeup path |
| |
On Thu, Oct 29, 2020 at 05:18:24PM +0100, Vincent Guittot wrote: > During fast wakeup path, scheduler always check whether local or prev cpus > are good candidates for the task before looking for other cpus in the > domain. With > commit b7a331615d25 ("sched/fair: Add asymmetric CPU capacity wakeup scan") > the heterogenous system gains a dedicated path but doesn't try to reuse > prev cpu whenever possible. If the previous cpu is idle and belong to the > LLC domain, we should check it 1st before looking for another cpu because > it stays one of the best candidate and this also stabilizes task placement > on the system. > > This change aligns asymmetric path behavior with symmetric one and reduces > cases where the task migrates across all cpus of the sd_asym_cpucapacity > domains at wakeup. > > This change does not impact normal EAS mode but only the overloaded case or > when EAS is not used. > > - On hikey960 with performance governor (EAS disable) > > ./perf bench sched pipe -T -l 50000 > mainline w/ patch > # migrations 999364 0 > ops/sec 149313(+/-0.28%) 182587(+/- 0.40) +22% > > - On hikey with performance governor > > ./perf bench sched pipe -T -l 50000 > mainline w/ patch > # migrations 0 0 > ops/sec 47721(+/-0.76%) 47899(+/- 0.56) +0.4% > > According to test on hikey, the patch doesn't impact symmetric system > compared to current implementation (only tested on arm64) > > Also read the uclamped value of task's utilization at most twice instead > instead each time we compare task's utilization with cpu's capacity. > > Fixes: b7a331615d25 ("sched/fair: Add asymmetric CPU capacity wakeup scan") > Reviewed-by: Valentin Schneider <valentin.schneider@arm.com> > Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org> > ---
Thanks!
| |