From d194ba5d712f051ff6c025f3484bb72f219764e3 Mon Sep 17 00:00:00 2001 From: Joel Fernandes Date: Mon, 11 Sep 2017 17:10:37 -0700 Subject: 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 --- include/linux/sched.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include/linux') diff --git a/include/linux/sched.h b/include/linux/sched.h index 60af9d2fa922..6197d9c8e5a0 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1433,6 +1433,10 @@ struct sched_rt_entity { unsigned long watchdog_stamp; unsigned int time_slice; + /* Accesses for these must be guarded by rq->lock of the task's rq */ + bool schedtune_enqueued; + struct hrtimer schedtune_timer; + struct sched_rt_entity *back; #ifdef CONFIG_RT_GROUP_SCHED struct sched_rt_entity *parent; -- cgit v1.2.3 From df147c9e336cfcb4183db1eb9552b0429060cd0d Mon Sep 17 00:00:00 2001 From: Viresh Kumar Date: Thu, 2 Nov 2017 15:13:26 +0530 Subject: cpufreq: Drop schedfreq governor We all should be using (and improving) the schedutil governor now. Get rid of the non-upstream governor. Tested on Hikey. Change-Id: Ic660756536e5da51952738c3c18b94e31f58cd57 Signed-off-by: Viresh Kumar --- include/linux/sched/sysctl.h | 1 - 1 file changed, 1 deletion(-) (limited to 'include/linux') diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h index 2bf4520d8089..167279a4e24b 100644 --- a/include/linux/sched/sysctl.h +++ b/include/linux/sched/sysctl.h @@ -40,7 +40,6 @@ extern unsigned int sysctl_sched_min_granularity; extern unsigned int sysctl_sched_wakeup_granularity; extern unsigned int sysctl_sched_child_runs_first; extern unsigned int sysctl_sched_sync_hint_enable; -extern unsigned int sysctl_sched_initial_task_util; extern unsigned int sysctl_sched_cstate_aware; #ifdef CONFIG_SCHED_WALT extern unsigned int sysctl_sched_use_walt_cpu_util; -- cgit v1.2.3 From 3822fe484cef0ef3e37e7106bfd684639f64e77b Mon Sep 17 00:00:00 2001 From: Todd Kjos Date: Wed, 8 Nov 2017 00:43:37 +0000 Subject: Revert "ANDROID: sched/rt: schedtune: Add boost retention to RT" This reverts commit d194ba5d712f051ff6c025f3484bb72f219764e3. Reason for revert: Broke some builds. Will fix and resubmit. Change-Id: I4e6fa1562346eda1bbf058f1d5ace5ba6256ce07 --- include/linux/sched.h | 4 ---- 1 file changed, 4 deletions(-) (limited to 'include/linux') diff --git a/include/linux/sched.h b/include/linux/sched.h index 6197d9c8e5a0..60af9d2fa922 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1433,10 +1433,6 @@ struct sched_rt_entity { unsigned long watchdog_stamp; unsigned int time_slice; - /* Accesses for these must be guarded by rq->lock of the task's rq */ - bool schedtune_enqueued; - struct hrtimer schedtune_timer; - struct sched_rt_entity *back; #ifdef CONFIG_RT_GROUP_SCHED struct sched_rt_entity *parent; -- cgit v1.2.3