From f1a785af8118fdf79729dd4a2a22ea3b3cdbfb31 Mon Sep 17 00:00:00 2001 From: Maria Yu Date: Tue, 13 Aug 2019 17:12:33 +0800 Subject: [PATCH] sched/walt: Avoid walt irq work in offlined cpu Avoid walt irq work in offlined cpu. Change-Id: Ia4410562f66bfa57daa15d8c0a785a2c7a95f2a0 Signed-off-by: Maria Yu [clingutla@codeaurora.org: Resolved trivial merge conflicts] Signed-off-by: Lingutla Chandrasekhar [satyap@codeaurora.org: resolve trivial merge conflicts] Signed-off-by: Satya Durga Srinivasu Prabhala --- kernel/sched/sched.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index 837360af7ba7..abe2a00e92ae 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -3405,3 +3405,13 @@ extern struct task_struct *find_process_by_pid(pid_t pid); extern void enqueue_task_core(struct rq *rq, struct task_struct *p, int flags); extern void dequeue_task_core(struct rq *rq, struct task_struct *p, int flags); + +#ifdef CONFIG_SMP +static inline void sched_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)); +} +#endif