Re: balance storm

Libo Chen
2014-05-27T07:57:07Z

On 2014/5/26 22:19, Mike Galbraith wrote:
> On Mon, 2014-05-26 at 20:16 +0800, Libo Chen wrote:
>> On 2014/5/26 13:11, Mike Galbraith wrote:
>
>>> Your synthetic test is the absolute worst case scenario. There has to
>>> be work between wakeups for select_idle_sibling() to have any chance
>>> whatsoever of turning in a win. At 0 work, it becomes 100% overhead.
>>
>> not synthetic, it is a real problem in our product. under no load, waste
>> much cpu time.
>
> What happens in your product if you apply the commit I pointed out?

under no load, cpu usage is up to 60%, but the same apps cost 10% on
susp sp1. The apps use a lot of timer.

I am not sure that commit is the root cause, but they do have some different
cpu usage between 3.4.24 and suse sp1, e.g. my synthetic test before.

>
>>>> so I think 15% cpu usage and migration event are too high, how to fixed?
>>>
>>> You can't for free, low latency wakeup can be worth one hell of a lot.
>>>
>>> You could do a decayed hit/miss or such to shut the thing off when the
>>> price is just too high. Restricting migrations per unit time per task
>>> also helps cut the cost, but hurts tasks that could have gotten to the
>>> CPU quicker, and started your next bit of work. Anything you do there
>>> is going to be a rob Peter to pay Paul thing.
>>>
>>
>> I had tried to change sched_migration_cost and sched_nr_migrate in /proc,
>> but no use. any other suggestion?
>>
>> I still think this is a problem to schedular. it is better to directly solve
>> this issue instead of a workaroud
>
> I didn't say it wasn't a problem, it is. I said whatever you do will be
> a tradeoff.
>
> -Mike
>
>
>