From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932491AbcFOTDZ (ORCPT ); Wed, 15 Jun 2016 15:03:25 -0400 Received: from foss.arm.com ([217.140.101.70]:39525 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752061AbcFOTDX (ORCPT ); Wed, 15 Jun 2016 15:03:23 -0400 Subject: Re: [rfc patch] sched/fair: Use instantaneous load for fork/exec balancing To: Mike Galbraith , Peter Zijlstra References: <1465891111.1694.13.camel@gmail.com> <5760115C.7040306@arm.com> <1465922407.3626.21.camel@gmail.com> <5761752A.6000606@arm.com> <1466006609.4219.40.camel@gmail.com> Cc: Yuyang Du , LKML From: Dietmar Eggemann Message-ID: <5761A677.3060609@arm.com> Date: Wed, 15 Jun 2016 20:03:19 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <1466006609.4219.40.camel@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 15/06/16 17:03, Mike Galbraith wrote: > On Wed, 2016-06-15 at 16:32 +0100, Dietmar Eggemann wrote: > >>> In general, the fuzz helps us to not be so spastic. I'm not sure that >>> we really really need to care all that much, because I strongly suspect >>> that it's only gonna make any difference at all in corner cases, but >>> there are real world cases that matter. I know for fact that schbench >>> (facebook) which is at least based on a real world load fails early due >>> to us stacking tasks due to that fuzzy view of reality. In that case, >>> it's because the fuzz consists of a high amplitude aging sawtooth.. >> >> ... only for fork/exec? > > No. Identical workers had longish work/sleep cycle, aging resulted in > weights that ranged from roughly 300-700(ish), depending on when you > peeked at them. > > -Mike > Isn't there a theoretical problem with the scale_load() on CONFIG_64BIT machines on tip/sched/core? load.weight has a higher resolution than runnable_load_avg (and so the values in the rq->cpu_load[] array). Theoretically because [forkexec|wake]_idx is 0 so [target|source]_load() is nothing else than weighted_cpuload().