diff --git a/kernel/sched/walt/walt_halt.c b/kernel/sched/walt/walt_halt.c index 756d455fca87..e6b61e00182f 100644 --- a/kernel/sched/walt/walt_halt.c +++ b/kernel/sched/walt/walt_halt.c @@ -460,7 +460,7 @@ static void android_rvh_get_nohz_timer_target(void *unused, int *cpu, bool *done *done = true; - if (housekeeping_cpu(*cpu, HK_FLAG_TIMER) && !cpu_halted(*cpu)) { + if (housekeeping_cpu(*cpu, HK_TYPE_TIMER) && !cpu_halted(*cpu)) { if (!available_idle_cpu(*cpu)) return; default_cpu = *cpu; @@ -469,7 +469,7 @@ static void android_rvh_get_nohz_timer_target(void *unused, int *cpu, bool *done rcu_read_lock(); for_each_domain(*cpu, sd) { for_each_cpu_and(i, sched_domain_span(sd), - housekeeping_cpumask(HK_FLAG_TIMER)) { + housekeeping_cpumask(HK_TYPE_TIMER)) { if (*cpu == i) continue; @@ -483,7 +483,7 @@ static void android_rvh_get_nohz_timer_target(void *unused, int *cpu, bool *done if (default_cpu == -1) { cpumask_complement(&unhalted, cpu_halt_mask); for_each_cpu_and(i, &unhalted, - housekeeping_cpumask(HK_FLAG_TIMER)) { + housekeeping_cpumask(HK_TYPE_TIMER)) { if (*cpu == i) continue; diff --git a/kernel/sched/walt/walt_lb.c b/kernel/sched/walt/walt_lb.c index 95dd2e1b645e..a4dc29d3f12a 100644 --- a/kernel/sched/walt/walt_lb.c +++ b/kernel/sched/walt/walt_lb.c @@ -1021,7 +1021,7 @@ static void walt_find_busiest_queue(void *unused, int dst_cpu, struct cpumask *env_cpus, struct rq **busiest, int *done) { - int fsrc_cpu = group_first_cpu(group); + int fsrc_cpu = cpumask_first(sched_group_span(group)); int busiest_cpu = -1; struct cpumask src_mask; int has_misfit; diff --git a/kernel/sched/walt/walt_rt.c b/kernel/sched/walt/walt_rt.c index 18d531791ff2..2f57e9faf0b8 100644 --- a/kernel/sched/walt/walt_rt.c +++ b/kernel/sched/walt/walt_rt.c @@ -16,7 +16,8 @@ DEFINE_PER_CPU(u64, rt_task_arrival_time) = 0; static bool long_running_rt_task_trace_rgstrd; static void rt_task_arrival_marker(void *unused, bool preempt, - struct task_struct *prev, struct task_struct *next) + struct task_struct *prev, struct task_struct *next, + unsigned int prev_state) { unsigned int cpu = raw_smp_processor_id(); diff --git a/kernel/sched/walt/walt_tp.c b/kernel/sched/walt/walt_tp.c index 62d3acb2b482..d82c4864076d 100644 --- a/kernel/sched/walt/walt_tp.c +++ b/kernel/sched/walt/walt_tp.c @@ -50,7 +50,8 @@ static void setup_prev_cnts(u32 cpu, u32 cnten_val) } void tracectr_notifier(void *ignore, bool preempt, - struct task_struct *prev, struct task_struct *next) + struct task_struct *prev, struct task_struct *next, + unsigned int prev_state) { u32 cnten_val; int current_pid; @@ -105,6 +106,15 @@ static void unregister_sched_switch_ctrs(void) cpuhp_remove_state_nocalls(USE_CPUHP_STATE); } +const struct cpumask *sched_trace_rd_span(struct root_domain *rd) +{ +#ifdef CONFIG_SMP + return rd ? rd->span : NULL; +#else + return NULL; +#endif +} + static void sched_overutilized(void *data, struct root_domain *rd, bool overutilized) {