mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 06:09:23 -04:00
Merge "sched: walt: Improve the scheduler"
This commit is contained in:
commit
cdda674ede
3 changed files with 28 additions and 27 deletions
|
|
@ -48,8 +48,9 @@ extern unsigned int __weak sysctl_sched_task_unfilter_period;
|
|||
extern unsigned int __weak sysctl_sched_busy_hyst_enable_cpus;
|
||||
extern unsigned int __weak sysctl_sched_busy_hyst;
|
||||
extern unsigned int __weak sysctl_sched_coloc_busy_hyst_enable_cpus;
|
||||
extern unsigned int __weak sysctl_sched_coloc_busy_hyst;
|
||||
extern unsigned int __weak sysctl_sched_coloc_busy_hyst_cpu[NR_CPUS];
|
||||
extern unsigned int __weak sysctl_sched_coloc_busy_hyst_max_ms;
|
||||
extern unsigned int __weak sysctl_sched_coloc_busy_hyst_cpu_busy_pct[NR_CPUS];
|
||||
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;
|
||||
|
|
@ -77,6 +78,9 @@ sched_ravg_window_handler(struct ctl_table *table, int write,
|
|||
|
||||
extern int sched_boost_handler(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos);
|
||||
|
||||
extern int sched_busy_hyst_handler(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_PREEMPTIRQ_EVENTS) || defined(CONFIG_PREEMPT_TRACER)
|
||||
|
|
|
|||
|
|
@ -123,6 +123,12 @@ int __weak sched_boost_handler(struct ctl_table *table, int write,
|
|||
return -ENOSYS;
|
||||
}
|
||||
|
||||
int __weak sched_busy_hyst_handler(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
return -ENOSYS;
|
||||
}
|
||||
|
||||
u64 __weak sched_ktime_clock(void) { return 0; }
|
||||
|
||||
unsigned long __weak
|
||||
|
|
|
|||
|
|
@ -64,7 +64,6 @@
|
|||
#include <linux/binfmts.h>
|
||||
#include <linux/sched/sysctl.h>
|
||||
#include <linux/sched/coredump.h>
|
||||
#include <linux/sched/stat.h>
|
||||
#include <linux/kexec.h>
|
||||
#include <linux/bpf.h>
|
||||
#include <linux/mount.h>
|
||||
|
|
@ -242,10 +241,6 @@ static int proc_dostring_coredump(struct ctl_table *table, int write,
|
|||
#endif
|
||||
static int proc_dopipe_max_size(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos);
|
||||
#ifdef CONFIG_SCHED_WALT
|
||||
static int proc_douintvec_minmax_schedhyst(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MAGIC_SYSRQ
|
||||
/* Note: sysrq code uses its own private copy */
|
||||
|
|
@ -513,7 +508,7 @@ static struct ctl_table kern_table[] = {
|
|||
.data = &sysctl_sched_busy_hyst_enable_cpus,
|
||||
.maxlen = sizeof(unsigned int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_douintvec_minmax_schedhyst,
|
||||
.proc_handler = sched_busy_hyst_handler,
|
||||
.extra1 = SYSCTL_ZERO,
|
||||
.extra2 = &two_hundred_fifty_five,
|
||||
},
|
||||
|
|
@ -522,7 +517,7 @@ static struct ctl_table kern_table[] = {
|
|||
.data = &sysctl_sched_busy_hyst,
|
||||
.maxlen = sizeof(unsigned int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_douintvec_minmax_schedhyst,
|
||||
.proc_handler = sched_busy_hyst_handler,
|
||||
.extra1 = SYSCTL_ZERO,
|
||||
.extra2 = &ns_per_sec,
|
||||
},
|
||||
|
|
@ -531,16 +526,16 @@ static struct ctl_table kern_table[] = {
|
|||
.data = &sysctl_sched_coloc_busy_hyst_enable_cpus,
|
||||
.maxlen = sizeof(unsigned int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_douintvec_minmax_schedhyst,
|
||||
.proc_handler = sched_busy_hyst_handler,
|
||||
.extra1 = SYSCTL_ZERO,
|
||||
.extra2 = &two_hundred_fifty_five,
|
||||
},
|
||||
{
|
||||
.procname = "sched_coloc_busy_hyst_ns",
|
||||
.data = &sysctl_sched_coloc_busy_hyst,
|
||||
.maxlen = sizeof(unsigned int),
|
||||
.procname = "sched_coloc_busy_hyst_cpu_ns",
|
||||
.data = &sysctl_sched_coloc_busy_hyst_cpu,
|
||||
.maxlen = sizeof(unsigned int) * NR_CPUS,
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_douintvec_minmax_schedhyst,
|
||||
.proc_handler = sched_busy_hyst_handler,
|
||||
.extra1 = SYSCTL_ZERO,
|
||||
.extra2 = &ns_per_sec,
|
||||
},
|
||||
|
|
@ -549,10 +544,19 @@ static struct ctl_table kern_table[] = {
|
|||
.data = &sysctl_sched_coloc_busy_hyst_max_ms,
|
||||
.maxlen = sizeof(unsigned int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_douintvec_minmax_schedhyst,
|
||||
.proc_handler = sched_busy_hyst_handler,
|
||||
.extra1 = SYSCTL_ZERO,
|
||||
.extra2 = &one_hundred_thousand,
|
||||
},
|
||||
{
|
||||
.procname = "sched_coloc_busy_hyst_cpu_busy_pct",
|
||||
.data = &sysctl_sched_coloc_busy_hyst_cpu_busy_pct,
|
||||
.maxlen = sizeof(unsigned int) * NR_CPUS,
|
||||
.mode = 0644,
|
||||
.proc_handler = sched_busy_hyst_handler,
|
||||
.extra1 = SYSCTL_ZERO,
|
||||
.extra2 = &one_hundred,
|
||||
},
|
||||
{
|
||||
.procname = "sched_ravg_window_nr_ticks",
|
||||
.data = &sysctl_sched_ravg_window_nr_ticks,
|
||||
|
|
@ -3165,19 +3169,6 @@ static int proc_dostring_coredump(struct ctl_table *table, int write,
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SCHED_WALT
|
||||
static int proc_douintvec_minmax_schedhyst(struct ctl_table *table, int write,
|
||||
void __user *buffer, size_t *lenp, loff_t *ppos)
|
||||
{
|
||||
int ret = proc_douintvec_minmax(table, write, buffer, lenp, ppos);
|
||||
|
||||
if (!ret && write)
|
||||
sched_update_hyst_times();
|
||||
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int __do_proc_doulongvec_minmax(void *data, struct ctl_table *table, int write,
|
||||
void __user *buffer,
|
||||
size_t *lenp, loff_t *ppos,
|
||||
|
|
|
|||
Loading…
Reference in a new issue