Re: [PATCH] sched: select 'idle' cfs_rq per task-group to prevent tg-internal imbalance

From: Michael wang
Date: Wed Jul 02 2014 - 22:17:13 EST


On 07/02/2014 10:47 PM, Rik van Riel wrote:
> On 07/01/2014 04:38 AM, Michael wang wrote:
>> On 07/01/2014 04:20 PM, Peter Zijlstra wrote:
>> [snip]
>>>>
>>>> Just wondering could we make this another scheduler feature?
>>>
>>> No; sched_feat() is for debugging, BIG CLUE: its guarded by
>>> CONFIG_SCHED_DEBUG, anybody using it in production or anywhere else is
>>> broken.
>>>
>>> If people are using it, I should remove or at least randomize the
>>> interface.
>>
>> Fair enough... but is there any suggestions on how to handle this issue?
>>
>> Currently when dbench running with stress, it could only gain one CPU,
>> and cpu-cgroup cpu.shares is meaningless, is there any good methods to
>> address that?

Hi, Rik

>
> select_idle_sibling will iterate over all of the CPUs
> in an LLC domain if there is no idle cpu in the domain.
>
> I suspect it would not take much extra code to track
> down the idlest CPU in the LLC domain, and make sure to
> schedule tasks there, in case no completely idle CPU
> was found.
>
> Are there any major problems with that thinking?

There are some try to improve that part previously, but testing show
that logical is somewhat cheap and good...

And in our cases this is cheap too since no idle CPU is there, 12 stress
will occupy all the CPU, and select_idle_sibling() will go through the
path very quick, since whenever there is a non-idle CPU in sg, sg will
be abandoned.

Regards,
Michael Wang

>
> --
> 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/
>

--
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/