Re: [PATCH] sched: Get rid of unnecessary checks from select_idle_sibling

From: Alex Shi
Date: Thu Jan 10 2013 - 21:34:57 EST


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@xxxxxxx>
>>>>>
>>>>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/