Merge "cpufreq: schedutil: Queue sugov irq work on policy online cpu"

This commit is contained in:
qctecmdr 2020-11-04 14:57:13 -08:00 • committed by Gerrit - the friendly Code Review server
commit c9d2eaf4a6
2 changed files with 16 additions and 1 deletions

View file

@ -263,7 +263,7 @@ static void sugov_deferred_update(struct sugov_policy *sg_policy, u64 time,
if (use_pelt())
sg_policy->work_in_progress = true;
irq_work_queue(&sg_policy->irq_work);
walt_irq_work_queue(&sg_policy->irq_work);
}
#define TARGET_LOAD 80

View file

@ -3368,3 +3368,18 @@ extern void walt_init_sched_boost(struct task_group *tg);
#else
static inline void walt_init_sched_boost(struct task_group *tg) {}
#endif
#ifdef CONFIG_SCHED_WALT
static inline void walt_irq_work_queue(struct irq_work *work)
{
if (likely(cpu_online(raw_smp_processor_id())))
irq_work_queue(work);
else
irq_work_queue_on(work, cpumask_any(cpu_online_mask));
}
#else
static inline void walt_irq_work_queue(struct irq_work *work)
{
irq_work_queue(work);
}
#endif