[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210917041539.7862-1-21cnbao@gmail.com>
Date: Fri, 17 Sep 2021 12:15:39 +0800
From: Barry Song <21cnbao@...il.com>
To: aubrey.li@...ux.intel.com
Cc: linux-kernel@...r.kernel.org, mgorman@...hsingularity.net,
mingo@...nel.org, peterz@...radead.org, song.bao.hua@...ilicon.com,
valentin.schneider@....com, vincent.guittot@...aro.org,
yangyicong@...wei.com
Subject: Re: [PATCH 8/9] sched/fair: select idle cpu from idle cpumask for task wakeup
> @@ -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
Powered by blists - more mailing lists