diff options
author | Srivatsa Vaddagiri <vatsa@codeaurora.org> | 2016-09-09 19:38:03 +0530 |
---|---|---|
committer | Pavankumar Kondeti <pkondeti@codeaurora.org> | 2016-12-16 16:50:52 +0530 |
commit | 0dee0d1411e4ba837089a769a5bcce57a5a14df2 (patch) | |
tree | f4d1423b387e4661efb73b32ba7489c48ecb494b /Documentation | |
parent | f8c7c6ffdfb366efce72a4df93d124659a246b8c (diff) |
sched: Avoid waking idle cpu for short-burst tasks
Introduce sched_short_burst tunable to classify "short-burst" tasks.
These tasks are eligible for packing to avoid overhead associated with
waking up an idle CPU. select_best_cpu() ignores power-cost and selects
the CPU with least wakeup latency which is not loaded with IRQs and
can accommodate this task without exceeding spill limits. The ties are
broken with load followed by previous CPU.
This policy does not affect cluster selection but only CPU selection
in the selected cluster. The tasks eligible for "wakeup-up-idle" and
"boost" are not considered for packing. This policy is applied for
both "fair" and "rt" scheduling class tasks.
Change-Id: I2a05493fde93f58636725f18d0ce8dbce4418a30
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/scheduler/sched-hmp.txt | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Documentation/scheduler/sched-hmp.txt b/Documentation/scheduler/sched-hmp.txt index 091d49ea80cf..766c01d321b5 100644 --- a/Documentation/scheduler/sched-hmp.txt +++ b/Documentation/scheduler/sched-hmp.txt @@ -726,6 +726,16 @@ d. /proc/sys/kernel/sched_select_prev_cpu_us Default value of sched_select_prev_cpu_us is 2000 (2ms). This can be turned off by setting it to 0. +e. /proc/sys/kernel/sched_short_burst_ns + This threshold controls whether a task is considered as "short-burst" + or not. "short-burst" tasks are eligible for packing to avoid overhead + associated with waking up an idle CPU. "non-idle" CPUs which are not + loaded with IRQs and can accommodate the waking task without exceeding + spill limits are considered. The ties are broken with load followed + by previous CPU. This tunable does not affect cluster selection. + It only affects CPU selection in a given cluster. This packing is + skipped for tasks that are eligible for "wake-up-idle" and "boost". + **** 5.2.4 Wakeup Logic for Task "p" Wakeup task placement logic is as follows: |