Merge "sched/walt: Define sched_trace_rd_span"

This commit is contained in:
qctecmdr 2022-10-05 19:55:00 -07:00 committed by Gerrit - the friendly Code Review server
commit 17a880d7fb
4 changed files with 17 additions and 6 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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();

View File

@ -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)
{