Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 113e3894 authored by Pavankumar Kondeti's avatar Pavankumar Kondeti Committed by Satya Durga Srinivasu Prabhala
Browse files

sched/fair: Fix schedtune boosted tasks placement issues



The current code starts the CPU search with max capacity cluster
for schedtune boosted tasks. If any of the CPU in this cluster
can accommodate the task without exceeding its original capacity,
the search is not extended to other clusters. This approach results
in sub-optimal performance on tri-cluster systems with 1 CPU in the
max capacity cluster. The max capacity CPU is packed with several
tasks while the other mid capacity CPUs are idle. Fix this issue by
starting the CPU search with mid capacity cluster as long as the
task fits. The search is also expanded to the max capacity cluster
and the best CPU is selected among the iterated CPUs. The best CPU
is either an idle CPU in the shallowest c-state or CPU with maximum
spare capacity when all the iterated CPUs are busy. The energy
evaluation is also skipped for boosted tasks to maximize the
performance.

While at it, extend the sched_task_util trace point to print if
the task is schedtune boosted or not.

Change-Id: Iefb29e9d32f1c414bd6af31d66306f04c6f57f9c
Signed-off-by: default avatarPavankumar Kondeti <pkondeti@codeaurora.org>
[satyap@codeaurora.org: resolve merge conflicts]
Signed-off-by: default avatarSatya Durga Srinivasu Prabhala <satyap@codeaurora.org>
parent 2f0b9d5e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment