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 /kernel/sysctl.c | |
| 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 'kernel/sysctl.c')
| -rw-r--r-- | kernel/sysctl.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index b7cbd7940f7b..d4682d0cdeb1 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -507,6 +507,13 @@ static struct ctl_table kern_table[] = { .extra1 = &zero, .extra2 = &three, }, + { + .procname = "sched_short_burst_ns", + .data = &sysctl_sched_short_burst, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = proc_dointvec, + }, #endif /* CONFIG_SCHED_HMP */ #ifdef CONFIG_SCHED_DEBUG { |
