diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 75554f366fd3aa20339a00a03d7897cf42bc7d97..c85dfb746f8c44654bee813522d1c72794ae8c49 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -508,7 +508,8 @@ void resched_cpu(int cpu) unsigned long flags; raw_spin_lock_irqsave(&rq->lock, flags); - resched_curr(rq); + if (cpu_online(cpu) || cpu == smp_processor_id()) + resched_curr(rq); raw_spin_unlock_irqrestore(&rq->lock, flags); }