linux/kernel/sched
JianMin Liu 4442801a43 ANDROID: sched: Introducing PELT multiplier
The new sysctl sched_pelt_multiplier allows a user to set a clock
multiplier x2 or x4 (x1 being the default). This clock multiplier
artificially speed-up PELT ramp up/down similarly to a faster half-life.
Indeed, if we write PELT as a first order filter:

  y(t) = G * (1 - exp(t/tau))

Then we can see that multiplying the time by a constant X, is the same
as
dividing the time constant tau by X.

  y(t) = G * (1 - exp((t*X)/tau))
  y(t) = G * (1 - exp(t/(tau/X)))

Tau being half-life*ln(2), multiplying the PELT time is the same as
dividing the half-life:

  - x1: 32ms half-life
  - x2: 16ms half-life
  - x4: 8ms  half-life

Internally, a new clock is created: rq->clock_task_mult. It sits in the
clock hierarchy between rq->clock_task and rq->clock_pelt.

Bug: 177593580
Bug: 237219700
Change-Id: I67e6ca7994bebea22bf75732ee11d2b10e0d6b7e
Suggested-by: Morten Rasmussen <morten.rasmussen@arm.com>
Signed-off-by: Vincent Donnefort <vincent.donnefort@arm.com>
Signed-off-by: JianMin Liu <jian-min.liu@mediatek.com>
2022-07-27 21:20:26 +00:00
..
autogroup.c
autogroup.h
clock.c
completion.c
core.c This is the 5.10.110 stable release 2022-04-18 17:41:18 +02:00
cpuacct.c
cpudeadline.c
cpudeadline.h
cpufreq_schedutil.c This is the 5.10.71 stable release 2021-10-06 17:33:06 +02:00
cpufreq.c ANDROID: android: Export symbols for invoking cpufreq_update_util() 2021-06-29 10:44:12 +00:00
cpupri.c
cpupri.h
cputime.c This is the 5.10.94 stable release 2022-01-27 11:49:22 +01:00
deadline.c This is the 5.10.65 stable release 2021-09-15 14:16:47 +02:00
debug.c This is the 5.10.110 stable release 2022-04-18 17:41:18 +02:00
fair.c ANDROID: sched: Introducing PELT multiplier 2022-07-27 21:20:26 +00:00
features.h Revert "Revert "sched,fair: Alternative sched_slice()"" 2021-05-21 13:17:06 -07:00
idle.c This is the 5.10.69 stable release 2021-09-30 18:36:17 +02:00
isolation.c
loadavg.c
Makefile
membarrier.c kernel: delete repeated words in comments 2022-02-01 17:25:45 +01:00
pelt.c ANDROID: sched: Introducing PELT multiplier 2022-07-27 21:20:26 +00:00
pelt.h ANDROID: sched: Introducing PELT multiplier 2022-07-27 21:20:26 +00:00
psi.c This is the 5.10.97 stable release 2022-02-08 10:08:24 +01:00
rt.c This is the 5.10.94 stable release 2022-01-27 11:49:22 +01:00
sched-pelt.h
sched.h ANDROID: sched: Introducing PELT multiplier 2022-07-27 21:20:26 +00:00
smp.h
stats.c
stats.h
stop_task.c
swait.c
topology.c This is the 5.10.104 stable release 2022-03-12 13:57:09 +01:00
wait_bit.c
wait.c This is the 5.10.85 stable release 2021-12-14 15:11:46 +01:00