Loading kernel/sched/sched.h +7 −7 Original line number Diff line number Diff line Loading @@ -99,7 +99,7 @@ struct walt_cpu_load { #define DECLARE_BITMAP_ARRAY(name, nr, bits) \ unsigned long name[nr][BITS_TO_LONGS(bits)] extern unsigned int __weak sched_ravg_window; extern unsigned int sched_ravg_window; struct walt_sched_stats { int nr_big_tasks; Loading Loading @@ -199,7 +199,7 @@ struct walt_sched_cluster { u64 aggr_grp_load; }; extern __weak cpumask_t asym_cap_sibling_cpus; extern cpumask_t asym_cap_sibling_cpus; #endif /* CONFIG_SCHED_WALT */ /* task_struct::on_rq states: */ Loading Loading @@ -2898,9 +2898,9 @@ struct walt_related_thread_group { extern struct walt_sched_cluster *sched_cluster[NR_CPUS]; extern unsigned int max_possible_capacity; extern unsigned int __weak min_max_possible_capacity; extern unsigned int __read_mostly __weak sched_init_task_load_windows; extern unsigned int __read_mostly __weak sched_load_granule; extern unsigned int min_max_possible_capacity; extern unsigned int __read_mostly sched_init_task_load_windows; extern unsigned int __read_mostly sched_load_granule; extern int update_preferred_cluster(struct walt_related_thread_group *grp, struct task_struct *p, u32 old_load, bool from_tick); Loading Loading @@ -3027,13 +3027,13 @@ static inline int same_freq_domain(int src_cpu, int dst_cpu) #define CPU_RESERVED 1 extern enum sched_boost_policy __weak boost_policy; extern enum sched_boost_policy boost_policy; static inline enum sched_boost_policy sched_boost_policy(void) { return boost_policy; } extern unsigned int __weak sched_boost_type; extern unsigned int sched_boost_type; static inline int sched_boost(void) { return sched_boost_type; Loading kernel/sched/walt/core_ctl.c +1 −3 Original line number Diff line number Diff line Loading @@ -1328,7 +1328,7 @@ static int cluster_init(const struct cpumask *mask) return kobject_add(&cluster->kobj, &dev->kobj, "core_ctl"); } static int __init core_ctl_init(void) int core_ctl_init(void) { struct walt_sched_cluster *cluster; int ret; Loading @@ -1350,5 +1350,3 @@ static int __init core_ctl_init(void) initialized = true; return 0; } late_initcall(core_ctl_init); kernel/sched/walt/cpu-boost.c +1 −2 Original line number Diff line number Diff line Loading @@ -330,7 +330,7 @@ static struct input_handler cpuboost_input_handler = { }; struct kobject *cpu_boost_kobj; static int cpu_boost_init(void) int cpu_boost_init(void) { int cpu, ret; struct cpu_sync *s; Loading Loading @@ -386,4 +386,3 @@ static int cpu_boost_init(void) ret = input_register_handler(&cpuboost_input_handler); return 0; } late_initcall(cpu_boost_init); kernel/sched/walt/trace.h +2 −2 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ #ifdef CONFIG_SCHED_WALT struct rq; struct group_cpu_time; extern const char __weak *task_event_names[]; extern const char *task_event_names[]; TRACE_EVENT(sched_update_pred_demand, Loading Loading @@ -289,7 +289,7 @@ TRACE_EVENT(sched_update_task_ravg_mini, ); struct migration_sum_data; extern const char __weak *migrate_type_names[]; extern const char *migrate_type_names[]; TRACE_EVENT(sched_set_preferred_cluster, Loading kernel/sched/walt/walt.c +8 −0 Original line number Diff line number Diff line Loading @@ -2550,6 +2550,13 @@ static void walt_get_possible_siblings(int cpuid, struct cpumask *cluster_cpus) } } static void walt_rest_init(struct work_struct *work) { core_ctl_init(); cpu_boost_init(); } static DECLARE_WORK(walt_work, walt_rest_init); void walt_update_cluster_topology(void) { struct cpumask cpus = *cpu_possible_mask; Loading Loading @@ -2617,6 +2624,7 @@ void walt_update_cluster_topology(void) } smp_store_release(&cpu_array, tmp); walt_clusters_parsed = true; schedule_work(&walt_work); } static int cpufreq_notifier_trans(struct notifier_block *nb, Loading Loading
kernel/sched/sched.h +7 −7 Original line number Diff line number Diff line Loading @@ -99,7 +99,7 @@ struct walt_cpu_load { #define DECLARE_BITMAP_ARRAY(name, nr, bits) \ unsigned long name[nr][BITS_TO_LONGS(bits)] extern unsigned int __weak sched_ravg_window; extern unsigned int sched_ravg_window; struct walt_sched_stats { int nr_big_tasks; Loading Loading @@ -199,7 +199,7 @@ struct walt_sched_cluster { u64 aggr_grp_load; }; extern __weak cpumask_t asym_cap_sibling_cpus; extern cpumask_t asym_cap_sibling_cpus; #endif /* CONFIG_SCHED_WALT */ /* task_struct::on_rq states: */ Loading Loading @@ -2898,9 +2898,9 @@ struct walt_related_thread_group { extern struct walt_sched_cluster *sched_cluster[NR_CPUS]; extern unsigned int max_possible_capacity; extern unsigned int __weak min_max_possible_capacity; extern unsigned int __read_mostly __weak sched_init_task_load_windows; extern unsigned int __read_mostly __weak sched_load_granule; extern unsigned int min_max_possible_capacity; extern unsigned int __read_mostly sched_init_task_load_windows; extern unsigned int __read_mostly sched_load_granule; extern int update_preferred_cluster(struct walt_related_thread_group *grp, struct task_struct *p, u32 old_load, bool from_tick); Loading Loading @@ -3027,13 +3027,13 @@ static inline int same_freq_domain(int src_cpu, int dst_cpu) #define CPU_RESERVED 1 extern enum sched_boost_policy __weak boost_policy; extern enum sched_boost_policy boost_policy; static inline enum sched_boost_policy sched_boost_policy(void) { return boost_policy; } extern unsigned int __weak sched_boost_type; extern unsigned int sched_boost_type; static inline int sched_boost(void) { return sched_boost_type; Loading
kernel/sched/walt/core_ctl.c +1 −3 Original line number Diff line number Diff line Loading @@ -1328,7 +1328,7 @@ static int cluster_init(const struct cpumask *mask) return kobject_add(&cluster->kobj, &dev->kobj, "core_ctl"); } static int __init core_ctl_init(void) int core_ctl_init(void) { struct walt_sched_cluster *cluster; int ret; Loading @@ -1350,5 +1350,3 @@ static int __init core_ctl_init(void) initialized = true; return 0; } late_initcall(core_ctl_init);
kernel/sched/walt/cpu-boost.c +1 −2 Original line number Diff line number Diff line Loading @@ -330,7 +330,7 @@ static struct input_handler cpuboost_input_handler = { }; struct kobject *cpu_boost_kobj; static int cpu_boost_init(void) int cpu_boost_init(void) { int cpu, ret; struct cpu_sync *s; Loading Loading @@ -386,4 +386,3 @@ static int cpu_boost_init(void) ret = input_register_handler(&cpuboost_input_handler); return 0; } late_initcall(cpu_boost_init);
kernel/sched/walt/trace.h +2 −2 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ #ifdef CONFIG_SCHED_WALT struct rq; struct group_cpu_time; extern const char __weak *task_event_names[]; extern const char *task_event_names[]; TRACE_EVENT(sched_update_pred_demand, Loading Loading @@ -289,7 +289,7 @@ TRACE_EVENT(sched_update_task_ravg_mini, ); struct migration_sum_data; extern const char __weak *migrate_type_names[]; extern const char *migrate_type_names[]; TRACE_EVENT(sched_set_preferred_cluster, Loading
kernel/sched/walt/walt.c +8 −0 Original line number Diff line number Diff line Loading @@ -2550,6 +2550,13 @@ static void walt_get_possible_siblings(int cpuid, struct cpumask *cluster_cpus) } } static void walt_rest_init(struct work_struct *work) { core_ctl_init(); cpu_boost_init(); } static DECLARE_WORK(walt_work, walt_rest_init); void walt_update_cluster_topology(void) { struct cpumask cpus = *cpu_possible_mask; Loading Loading @@ -2617,6 +2624,7 @@ void walt_update_cluster_topology(void) } smp_store_release(&cpu_array, tmp); walt_clusters_parsed = true; schedule_work(&walt_work); } static int cpufreq_notifier_trans(struct notifier_block *nb, Loading