sched/walt: Improve the scheduler

This change is for general scheduler improvement.

Change-Id: If03bf5f104740adf09d854837ae9b141dc97cbc6
Signed-off-by: Tengfei Fan <tengfeif@codeaurora.org>
[pkondeti@codeaurora: Added tunable based on priority]
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
This commit is contained in:
Tengfei Fan 2020-04-21 09:01:51 +08:00 • committed by Pavankumar Kondeti
commit 7a8045dfd3
4 changed files with 31 additions and 0 deletions

View file

@ -150,6 +150,15 @@ const int sched_user_hint_max = 1000;
static unsigned int ns_per_sec = NSEC_PER_SEC;
static unsigned int one_hundred_thousand = 100000;
static unsigned int two_hundred_million = 200000000;
/*
* CFS task prio range is [100 ... 139]
* 120 is the default prio.
* RTG boost range is [100 ... 119] because giving
* boost for [120 .. 139] does not make sense.
* 99 means disabled and it is the default value.
*/
static unsigned int min_cfs_boost_prio = 99;
static unsigned int max_cfs_boost_prio = 119;
#endif
/* this is needed for the proc_doulongvec_minmax of vm_dirty_bytes */
@ -545,6 +554,15 @@ static struct ctl_table kern_table[] = {
.extra1 = SYSCTL_ZERO,
.extra2 = &two,
},
{
.procname = "walt_rtg_cfs_boost_prio",
.data = &sysctl_walt_rtg_cfs_boost_prio,
.maxlen = sizeof(unsigned int),
.mode = 0644,
.proc_handler = proc_dointvec_minmax,
.extra1 = &min_cfs_boost_prio,
.extra2 = &max_cfs_boost_prio,
},
#endif
#ifdef CONFIG_SCHED_DEBUG
{