Re: [PATCH v3 0/3] sched/fair: Capacity aware wakeup rework
From: Dietmar Eggemann
Date: Tue Jan 28 2020 - 04:24:39 EST
On 26/01/2020 21:09, Valentin Schneider wrote:
[...]
> v2 -> v3
> --------
> o Added missing sync_entity_load_avg() (Quentin)
> o Added fallback CPU selection (maximize capacity)
> o Added special case for CPU hogs: task_fits_capacity() will always return 'false'
> for tasks that are simply too big, due to the margin.
v3 fixes the Geekbench multicore regression I saw on Pixel4 (Android 10,
Android Common Kernel v4.14 based, Snapdragon 855) running v1.
I changed the Pixel4 kernel a bit (PELT instead WALT, mainline
select_idle_sibling() instead the csctate aware one), mainline
task_fits_capacity()) for base, v1 & v3.
Since it's not mainline kernel the results have to be taken with a pinch
of salt but they probably show that the new condition:
if (rq->cpu_capacity_orig == READ_ONCE(rq->rd->max_cpu_capacity) && ...
return cpu;
has an effect when dealing with tasks with util_est values > 0.8 * 1024.