Messages in this thread | | | From | Barry Song <> | Subject | Re: [PATCH 8/9] sched/fair: select idle cpu from idle cpumask for task wakeup | Date | Fri, 17 Sep 2021 12:15:39 +0800 |
| |
> @@ -4965,6 +4965,7 @@ void scheduler_tick(void) > > #ifdef CONFIG_SMP > rq->idle_balance = idle_cpu(cpu); > + update_idle_cpumask(cpu, rq->idle_balance); > trigger_load_balance(rq); > #endif > }
might be stupid, a question bothering yicong and me is that why don't we choose to update_idle_cpumask() while idle task exits and switches to a normal task? for example, before tick comes, cpu has exited from idle, but we are only able to update it in tick. this makes idle_cpus_span inaccurate, thus we will scan cpu which isn't actually idle in select_idle_sibling. is it because of the huge update overhead?
Thanks barry
| |