From 609fb2b3664c6f9be23f477e82cc61be8ddfb0bd Mon Sep 17 00:00:00 2001 From: Lingutla Chandrasekhar Date: Wed, 4 Dec 2019 14:04:20 +0530 Subject: [PATCH] sched/walt: Improve the scheduler This change is for general scheduler improvement. Change-Id: I5fbadf248c0bfe27bc761686de7a925cec2e4163 Signed-off-by: Lingutla Chandrasekhar Signed-off-by: Sai Harshini Nimmala [satyap@codeaurora.org: port to 5.4 and fix trivial merge conflicts] Signed-off-by: Satya Durga Srinivasu Prabhala --- include/linux/sched/sysctl.h | 1 + kernel/sysctl.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/linux/sched/sysctl.h b/include/linux/sched/sysctl.h index 150db62ae104..82fd187bb282 100644 --- a/include/linux/sched/sysctl.h +++ b/include/linux/sched/sysctl.h @@ -52,6 +52,7 @@ extern unsigned int __weak sysctl_sched_coloc_busy_hyst_max_ms; extern unsigned int __weak sysctl_sched_window_stats_policy; extern unsigned int __weak sysctl_sched_ravg_window_nr_ticks; extern unsigned int __weak sysctl_sched_many_wakeup_threshold; +extern unsigned int __weak sysctl_sched_dynamic_ravg_window_enable; extern int __weak walt_proc_group_thresholds_handler(struct ctl_table *table, int write, diff --git a/kernel/sysctl.c b/kernel/sysctl.c index f38bae0fc9b4..ac0e200b3a91 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -532,6 +532,15 @@ static struct ctl_table kern_table[] = { .mode = 0644, .proc_handler = sched_ravg_window_handler, }, + { + .procname = "sched_dynamic_ravg_window_enable", + .data = &sysctl_sched_dynamic_ravg_window_enable, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = proc_dointvec_minmax, + .extra1 = SYSCTL_ZERO, + .extra2 = SYSCTL_ONE, + }, { .procname = "sched_upmigrate", .data = &sysctl_sched_capacity_margin_up, @@ -3614,7 +3623,8 @@ static int do_proc_douintvec_rwin(bool *negp, unsigned long *lvalp, int *valp, int write, void *data) { if (write) { - if (*lvalp == 0 || *lvalp == 2 || *lvalp == 5) + if (*lvalp == 2 || *lvalp == 3 || *lvalp == 4 || *lvalp == 5 || + *lvalp == 8) *valp = *lvalp; else return -EINVAL;