Loading include/linux/sched/sysctl.h +5 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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) Loading kernel/sched/walt.c +6 −0 Original line number Diff line number Diff line Loading @@ -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 Loading kernel/sysctl.c +17 −26 Original line number Diff line number Diff line Loading @@ -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> Loading Loading @@ -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 */ Loading Loading @@ -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, }, Loading @@ -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, }, Loading @@ -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, }, Loading @@ -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, Loading Loading @@ -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 Loading
include/linux/sched/sysctl.h +5 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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) Loading
kernel/sched/walt.c +6 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
kernel/sysctl.c +17 −26 Original line number Diff line number Diff line Loading @@ -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> Loading Loading @@ -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 */ Loading Loading @@ -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, }, Loading @@ -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, }, Loading @@ -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, }, Loading @@ -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, Loading Loading @@ -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