Re: [PATCH RFC/RFT] sched/fair: Improve the behavior of sync flag

From: Mike Galbraith
Date: Sun Aug 27 2017 - 02:08:59 EST


On Sun, 2017-08-27 at 07:44 +0200, Mike Galbraith wrote:
> On Sat, 2017-08-26 at 18:02 -0700, Joel Fernandes wrote:
> > Binder (Android's IPC mechanism) which uses sync wake ups during synchronous
> > transactions to the scheduler to indicate that the waker is about to sleep
> > soon. The current wake up path can improved when the sync flag is passed
> > resulting in higher binder performance. In this patch we more strongly wake up
> > the wakee on the waker's CPU if sync is passed based on a few other conditions
> > such as wake_cap, cpus allowed. wake_wide is checked only after the sync flag
> > check so that it doesn't mess up sync. Binder throughput tests see good
> > improvement improvement when waking up wakee (calling thread) on the waker's
> > CPU (called thread) with this flag. Some tests results are below:
>
> Sync is not a contract, it's a hint. ÂIf you really want sync behavior,
> you need to create a contract signed in blood to signal that you really
> really are passing the baton.

P.S. to get the most bang for your synchronous buck, you want a
preemptive wakeup.. but that butts heads with the fair engine.

-Mike