mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 11:37:06 +02:00
sched/walt: Improve the scheduler
This change is for general scheduler improvement. Change-Id: Ie81267e970c55da4f5f5f2a6ffb9b7f64e48503c Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
This commit is contained in:
parent
3da4f50cf4
commit
0808e3fa4d
|
|
@ -56,6 +56,7 @@ unsigned int __read_mostly sysctl_sched_asym_cap_sibling_freq_match_pct;
|
|||
unsigned int sysctl_walt_low_latency_task_threshold; /* disabled by default */
|
||||
unsigned int sysctl_sched_conservative_pl;
|
||||
unsigned int sysctl_sched_min_task_util_for_boost = 51;
|
||||
unsigned int sysctl_sched_min_task_util_for_uclamp = 51;
|
||||
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;
|
||||
|
|
@ -543,6 +544,15 @@ struct ctl_table walt_table[] = {
|
|||
.extra1 = SYSCTL_ZERO,
|
||||
.extra2 = &one_thousand,
|
||||
},
|
||||
{
|
||||
.procname = "sched_min_task_util_for_uclamp",
|
||||
.data = &sysctl_sched_min_task_util_for_uclamp,
|
||||
.maxlen = sizeof(unsigned int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec_minmax,
|
||||
.extra1 = SYSCTL_ZERO,
|
||||
.extra2 = &one_thousand,
|
||||
},
|
||||
{
|
||||
.procname = "sched_min_task_util_for_colocation",
|
||||
.data = &sysctl_sched_min_task_util_for_colocation,
|
||||
|
|
|
|||
|
|
@ -202,6 +202,7 @@ extern unsigned int __read_mostly sched_load_granule;
|
|||
|
||||
/* 1ms default for 20ms window size scaled to 1024 */
|
||||
extern unsigned int sysctl_sched_min_task_util_for_boost;
|
||||
extern unsigned int sysctl_sched_min_task_util_for_uclamp;
|
||||
/* 0.68ms default for 20ms window size scaled to 1024 */
|
||||
extern unsigned int sysctl_sched_min_task_util_for_colocation;
|
||||
extern unsigned int __read_mostly sysctl_sched_silver_thres;
|
||||
|
|
@ -484,9 +485,8 @@ static inline enum sched_boost_policy task_boost_policy(struct task_struct *p)
|
|||
|
||||
static inline bool walt_uclamp_boosted(struct task_struct *p)
|
||||
{
|
||||
struct walt_task_struct *wts = (struct walt_task_struct *) p->android_vendor_data1;
|
||||
|
||||
return uclamp_eff_value(p, UCLAMP_MIN) > 0 && wts->unfilter;
|
||||
return ((uclamp_eff_value(p, UCLAMP_MIN) > 0) &&
|
||||
(task_util(p) > sysctl_sched_min_task_util_for_uclamp));
|
||||
}
|
||||
|
||||
static inline unsigned long capacity_of(int cpu)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user