sched/fair: Add sched_sync_hint_enable node

Add sched_sync_hint_enable not to enable/disable sync.

Change-Id: I455545487d002b4e3caf96c6cf8569549c3b1bbe
Signed-off-by: Tengfei Fan <tengfeif@codeaurora.org>
This commit is contained in:
Tengfei Fan 2021-05-24 14:22:28 +08:00 committed by Rishabh Bhatnagar
parent 7d53585557
commit a62a217748
3 changed files with 13 additions and 1 deletions

View File

@ -56,6 +56,7 @@ unsigned int sysctl_sched_min_task_util_for_colocation = 35;
unsigned int sysctl_sched_many_wakeup_threshold = WALT_MANY_WAKEUP_DEFAULT;
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;
/* range is [1 .. INT_MAX] */
static int sysctl_task_read_pid = 1;
@ -661,6 +662,15 @@ struct ctl_table walt_table[] = {
.extra1 = SYSCTL_ZERO,
.extra2 = SYSCTL_ONE,
},
{
.procname = "sched_sync_hint_enable",
.data = &sysctl_sched_sync_hint_enable,
.maxlen = sizeof(unsigned int),
.mode = 0644,
.proc_handler = proc_dointvec_minmax,
.extra1 = SYSCTL_ZERO,
.extra2 = SYSCTL_ONE,
},
{
.procname = "sched_lib_name",
.data = sched_lib_name,

View File

@ -277,6 +277,7 @@ extern unsigned int sysctl_sched_walt_rotate_big_tasks;
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 struct ctl_table walt_table[];
extern struct ctl_table walt_base_table[];
extern void walt_tunables(void);

View File

@ -544,7 +544,8 @@ int walt_find_energy_efficient_cpu(struct task_struct *p, int prev_cpu,
if (sync && (need_idle || (is_rtg && curr_is_rtg)))
sync = 0;
if (sync && bias_to_this_cpu(p, cpu, start_cpu)) {
if (sysctl_sched_sync_hint_enable && sync
&& bias_to_this_cpu(p, cpu, start_cpu)) {
best_energy_cpu = cpu;
fbt_env.fastpath = SYNC_WAKEUP;
goto done;