mirror of
https://github.com/torvalds/linux.git
synced 2026-07-30 03:01:41 +02:00
Merge "sched/walt: Define sched_trace_rd_span"
This commit is contained in:
commit
17a880d7fb
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user