forked fromtorvalds/linux
- Notifications
You must be signed in to change notification settings - Fork0
Commitb4c9c9f
sched/fair: Prefer prev cpu in asymmetric wakeup path
During fast wakeup path, scheduler always check whether local or prevcpus are good candidates for the task before looking for other cpus inthe domain. With commitb7a3316 ("sched/fair: Add asymmetric CPUcapacity wakeup scan") the heterogenous system gains a dedicated pathbut doesn't try to reuse prev cpu whenever possible. If the previouscpu is idle and belong to the LLC domain, we should check it 1stbefore looking for another cpu because it stays one of the bestcandidate and this also stabilizes task placement on the system.This change aligns asymmetric path behavior with symmetric one and reducescases where the task migrates across all cpus of the sd_asym_cpucapacitydomains at wakeup.This change does not impact normal EAS mode but only the overloaded case orwhen EAS is not used.- On hikey960 with performance governor (EAS disable)./perf bench sched pipe -T -l 50000 mainline w/ patch# migrations 999364 0ops/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 0ops/sec 47721(+/-0.76%) 47899(+/- 0.56) +0.4%According to test on hikey, the patch doesn't impact symmetric systemcompared to current implementation (only tested on arm64)Also read the uclamped value of task's utilization at most twice insteadinstead each time we compare task's utilization with cpu's capacity.Fixes:b7a3316 ("sched/fair: Add asymmetric CPU capacity wakeup scan")Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>Tested-by: Dietmar Eggemann <dietmar.eggemann@arm.com>Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>Link:https://lkml.kernel.org/r/20201029161824.26389-1-vincent.guittot@linaro.org1 parent16b0a7a commitb4c9c9f
1 file changed
+43
-24
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6172 | 6172 | | |
6173 | 6173 | | |
6174 | 6174 | | |
6175 | | - | |
| 6175 | + | |
6176 | 6176 | | |
6177 | 6177 | | |
6178 | 6178 | | |
6179 | | - | |
6180 | | - | |
6181 | 6179 | | |
6182 | 6180 | | |
6183 | 6181 | | |
| 6182 | + | |
| 6183 | + | |
6184 | 6184 | | |
6185 | 6185 | | |
6186 | 6186 | | |
6187 | 6187 | | |
6188 | 6188 | | |
6189 | | - | |
| 6189 | + | |
6190 | 6190 | | |
6191 | 6191 | | |
6192 | 6192 | | |
| |||
6198 | 6198 | | |
6199 | 6199 | | |
6200 | 6200 | | |
| 6201 | + | |
| 6202 | + | |
| 6203 | + | |
| 6204 | + | |
| 6205 | + | |
| 6206 | + | |
| 6207 | + | |
| 6208 | + | |
6201 | 6209 | | |
6202 | 6210 | | |
6203 | 6211 | | |
6204 | 6212 | | |
6205 | 6213 | | |
6206 | 6214 | | |
| 6215 | + | |
6207 | 6216 | | |
6208 | 6217 | | |
6209 | 6218 | | |
6210 | | - | |
6211 | | - | |
| 6219 | + | |
| 6220 | + | |
6212 | 6221 | | |
6213 | 6222 | | |
6214 | | - | |
6215 | | - | |
6216 | | - | |
6217 | | - | |
6218 | | - | |
6219 | | - | |
6220 | | - | |
6221 | | - | |
6222 | | - | |
6223 | | - | |
6224 | | - | |
6225 | | - | |
6226 | | - | |
6227 | | - | |
| 6223 | + | |
| 6224 | + | |
6228 | 6225 | | |
6229 | 6226 | | |
6230 | | - | |
6231 | | - | |
| 6227 | + | |
| 6228 | + | |
6232 | 6229 | | |
6233 | 6230 | | |
6234 | 6231 | | |
6235 | 6232 | | |
6236 | 6233 | | |
6237 | 6234 | | |
6238 | | - | |
| 6235 | + | |
| 6236 | + | |
6239 | 6237 | | |
6240 | 6238 | | |
6241 | 6239 | | |
| |||
6258 | 6256 | | |
6259 | 6257 | | |
6260 | 6258 | | |
6261 | | - | |
| 6259 | + | |
| 6260 | + | |
6262 | 6261 | | |
6263 | 6262 | | |
6264 | 6263 | | |
| |||
6267 | 6266 | | |
6268 | 6267 | | |
6269 | 6268 | | |
| 6269 | + | |
| 6270 | + | |
| 6271 | + | |
| 6272 | + | |
| 6273 | + | |
| 6274 | + | |
| 6275 | + | |
| 6276 | + | |
| 6277 | + | |
| 6278 | + | |
| 6279 | + | |
| 6280 | + | |
| 6281 | + | |
| 6282 | + | |
| 6283 | + | |
| 6284 | + | |
| 6285 | + | |
| 6286 | + | |
| 6287 | + | |
| 6288 | + | |
6270 | 6289 | | |
6271 | 6290 | | |
6272 | 6291 | | |
| |||
0 commit comments
Comments
(0)