Re: balance storm

Mike Galbraith
2014-05-26T14:19:27Z

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?

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