Messages in this thread | | | Date | Wed, 09 Jan 2013 16:34:39 +0800 | From | Alex Shi <> | Subject | Re: [PATCH] sched: Get rid of unnecessary checks from select_idle_sibling |
| |
On 01/09/2013 03:54 PM, Namhyung Kim wrote: > Hi Alex, > > On Wed, 09 Jan 2013 15:33:40 +0800, Alex Shi wrote: >> On 01/09/2013 02:50 PM, Namhyung Kim wrote: >>> From: Namhyung Kim <namhyung.kim@lge.com> >>> >>> AFAICS @target cpu of select_idle_sibling() is always either prev_cpu >>> or this_cpu. So no need to check it again and the conditionals can be >>> consolidated. > [snip] >> Uh, we don't know if the target is this_cpu or previous cpu, If we just >> check the target idle status, we may miss another idle cpu. So this >> patch change the logical in this function. > > select_idle_sibling() is called only in select_task_rq_fair() if it > found a suitable affine_sd. The default target is the 'prev_cpu' of the > task but if wake_affine() returns true it'd be (this) 'cpu'. > > I cannot see where the prev_cpu or the cpu is set to another one before > calling select_idle_sibling.
The old logical will return directly whenever prev_cpu or this cpu idle, but your new logical just has one chance.
> > Thanks, > Namhyung >
-- Thanks Alex
| |