sched/walt: Improve the scheduler

This change is for general scheduler improvement.

Change-Id: I8e5fbdb142a891f79b0073b2fc0ee7e81d46c845
Signed-off-by: Stephen Dickey <dickey@codeaurora.org>
This commit is contained in:
Stephen Dickey 2021-08-04 15:56:08 -07:00 committed by Rishabh Bhatnagar
parent a907a3cd42
commit 36183d4ec4
3 changed files with 14 additions and 2 deletions

View File

@ -62,6 +62,7 @@ const int sched_user_hint_max = 1000;
unsigned int sysctl_walt_rtg_cfs_boost_prio = 99; /* disabled by default */
unsigned int sysctl_sched_sync_hint_enable = 1;
unsigned int sysctl_panic_on_walt_bug;
unsigned int sysctl_sched_suppress_region2;
/* range is [1 .. INT_MAX] */
static int sysctl_task_read_pid = 1;
@ -712,6 +713,15 @@ struct ctl_table walt_table[] = {
.extra1 = SYSCTL_ZERO,
.extra2 = SYSCTL_ONE,
},
{
.procname = "sched_suppress_region2",
.data = &sysctl_sched_suppress_region2,
.maxlen = sizeof(unsigned int),
.mode = 0644,
.proc_handler = proc_dointvec_minmax,
.extra1 = SYSCTL_ZERO,
.extra2 = SYSCTL_ONE,
},
{
.procname = "panic_on_walt_bug",
.data = &sysctl_panic_on_walt_bug,

View File

@ -286,6 +286,7 @@ extern unsigned int sysctl_sched_task_unfilter_period;
extern unsigned int __read_mostly sysctl_sched_asym_cap_sibling_freq_match_pct;
extern unsigned int sysctl_walt_low_latency_task_threshold; /* disabled by default */
extern unsigned int sysctl_sched_sync_hint_enable;
extern unsigned int sysctl_sched_suppress_region2;
extern struct ctl_table walt_table[];
extern struct ctl_table walt_base_table[];
extern void walt_tunables(void);

View File

@ -199,8 +199,9 @@ static void walt_get_indicies(struct task_struct *p, int *order_index,
(task_util(p) >= MIN_UTIL_FOR_ENERGY_EVAL) &&
!(p->in_iowait && task_in_related_thread_group(p)) &&
!walt_get_rtg_status(p) &&
!(sched_boost_type == CONSERVATIVE_BOOST && task_sched_boost(p))
)
!(sched_boost_type == CONSERVATIVE_BOOST && task_sched_boost(p)) &&
!sysctl_sched_suppress_region2
)
*end_index = 1;
if (p->in_iowait && task_in_related_thread_group(p))