Messages in this thread | | | Date | Fri, 11 Jan 2013 10:36:15 +0800 | From | Alex Shi <> | Subject | Re: [PATCH] sched: Get rid of unnecessary checks from select_idle_sibling |
| |
On 01/10/2013 01:52 PM, Namhyung Kim wrote: > On Wed, 09 Jan 2013 16:34:39 +0800, Alex Shi wrote: >> 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. > > Sorry, I can't get your point. Could you elaborate on it a bit more?
Sorry. I misunderstand this.
Acked-by: Alex Shi
> > Thanks, > Namhyung >
-- Thanks Alex
| |