From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751192AbdH0GI5 convert rfc822-to-8bit (ORCPT ); Sun, 27 Aug 2017 02:08:57 -0400 Received: from mout.gmx.net ([212.227.15.19]:52082 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750760AbdH0GIz (ORCPT ); Sun, 27 Aug 2017 02:08:55 -0400 Message-ID: <1503814090.7566.50.camel@gmx.de> Subject: Re: [PATCH RFC/RFT] sched/fair: Improve the behavior of sync flag From: Mike Galbraith To: Joel Fernandes , linux-kernel@vger.kernel.org Cc: Peter Zijlstra , Josef Bacik , Juri Lelli , Brendan Jackman , Dietmar Eggemann , Matt Fleming , Rik van Riel , Ingo Molnar Date: Sun, 27 Aug 2017 08:08:10 +0200 In-Reply-To: <1503812659.7566.43.camel@gmx.de> References: <20170827010226.19703-1-joelaf@google.com> <1503812659.7566.43.camel@gmx.de> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.5 Mime-Version: 1.0 Content-Transfer-Encoding: 8BIT X-Provags-ID: V03:K0:yukc/ntrMqZrodbwr3LaoBYL2AZNsIBTXnWSsPbGXAEjGyQx2bR ODlZv1cbyVt0JY+WtOzkvnHqrgDXBh2WvFugKa9fjU77vI5dE/c7ASH/C+WV9t11Xxp28Dw N3QV63Ppx84ATM/kTYPgPguR27IrwSViT9l5E0+QYWXbRVuXzmyUVpb1dqyfXpt/mG7rVir /HkGHHSvuGmABQeaGMDww== X-UI-Out-Filterresults: notjunk:1;V01:K0:wbHryri1UjY=:YVLjI44FjK0TiIQeiwJe1Q JIBkX0FlgLmVvqcN2/g+nUceRw4zezzl4l+ORXZWtKxAJlTzpqqUbnQ98kiI7lZjW/0XAoGFx qtiTAOv4wb2XEknhUTdDKq02hENkBQHr4lxdX7XQnm9khRPpLRQYcGVG3IrIaSOMyxxsO4iu7 HmMiMmxze+qgIFb/N4BeqOyiMzqcDw9AV+oBpCg4gFZtaFcs5mgLTnJstA57+ZBXO1IDQqRQS oEtuA0xRhf0z9j37i6WDbxyemFBeTGN+tbAaKmzJIpxg3oYNadFPoC5EGTzKH2+ubspfcpA+C YNmJEMDlvxRIPXa9OpSQk+RmceFOCP4EIYRlVA87+of2aWbRZo+pRw8nE9ughHBOVly5F9R7A MgXP1sEghmGmpdaL5s//Pv22fCQTniktiIjETlDQ17QTUflZ7RjVL6g0X17xxg4uFoRi6V/a0 QjgpNxmVlm70ix7/LGk5ehRsNJ5i7PSmU76YZwneCp6DtYAnx2hJDyRqjOKKNbQSp36wXnG6t Ux/Ez0CY8gRaRmTM3cLVWOQ4ltpg1zx89bp/fbmZUcOLToax6bSZLWdnC4+fS4zC7F+80JgyO YAGaE3eV8kidpbCEwD2kO6yYCTsij2KMwzZ30Bc8drXtGTtHXAwokaIYWtkwEE2r/6FpqFGwD BgrqnYBglvNJheybW90CoNNyJhSx2k6E+UJJpW60Kc9RU8lNSgJfNZZQ5fqctYiAHg0UJhXx1 MGw3lGd2KjJjjqR2OXi9Wes8bp4j4dgoqnwg0RCVnrI1zcD/5FYtKWD4VcKNekjyuJud61ivW 6oZXsQGIxsvujCKWZohMFdEbcxxOFhhDVmDz6ucO6pZLTrjaYo= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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