diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 26ea78ae3ccac4f83dd1e7309226337185f54b7a..9c59854d14e9eed7fc6e0262b3d5b6082f859ea8 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -6407,6 +6407,7 @@ static int select_idle_sibling(struct task_struct *p, int prev, int target) * pattern is IO completions. */ if (is_per_cpu_kthread(current) && + in_task() && prev == smp_processor_id() && this_rq()->nr_running <= 1) { SET_STAT(found_idle_cpu_easy);