ANDROID: sched/rt: schedtune: Add boost retention to RT
authorJoel Fernandes <joelaf@google.com>
Tue, 12 Sep 2017 00:10:37 +0000 (17:10 -0700)
committerTodd Kjos <tkjos@google.com>
Tue, 7 Nov 2017 23:47:42 +0000 (23:47 +0000)
commitd194ba5d712f051ff6c025f3484bb72f219764e3
tree39ac44cd00a5c8afc64aaa5ff58b3e926558b8e9
parentcd04e987d1da0eadc25c2186bd6bd93f22c3e851
ANDROID: sched/rt: schedtune: Add boost retention to RT

Boosted RT tasks can be deboosted quickly, this makes boost usless
for RT tasks and causes lots of glitching. Use timers to prevent
de-boost too soon and wait for long enough such that next enqueue
happens after a threshold.

While this can be solved in the governor, there are following
advantages:
- The approach used is governor-independent
- Reduces boost group lock contention for frequently sleepers/wakers
- Works with schedfreq without any other schedfreq hacks.

Bug: 30210506

Change-Id: I41788b235586988be446505deb7c0529758a9898
Signed-off-by: Joel Fernandes <joelaf@google.com>
include/linux/sched.h
kernel/sched/core.c
kernel/sched/rt.c
kernel/sched/sched.h