Re: [PATCH 0/1] RFC: sched/fair: skip select_idle_sibling() in presence of sync wakeups

From: Mel Gorman
Date: Wed Jan 09 2019 - 05:07:57 EST


On Wed, Jan 09, 2019 at 05:19:48AM +0100, Mike Galbraith wrote:
> > To test I used this trivial program.
>
> Which highlights the problem. That proggy really is synchronous, but
> the sync hint is applied to many MANY real world cases where this is
> not the case at all. Sure, you can make things like pipe_test and
> nearly nonexistent payload TCP_RR numbers look gorgeous, but that
> demolishes concurrency for real applications.
>

I agree with Mike here. Many previous attempts to strictly obey the strict
hint has led to regressions elsewhere -- specifically a task waking 2+
wakees that temporarily stack on one CPU when nearby CPUs sharing LLC
remain idle. It's why the select idle sibling logic tried to take into
account a recently used CPU to wake such tasks if the recent CPU was
still idle.

--
Mel Gorman
SUSE Labs