From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755527AbcFQKzJ (ORCPT ); Fri, 17 Jun 2016 06:55:09 -0400 Received: from foss.arm.com ([217.140.101.70]:49295 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753126AbcFQKzH (ORCPT ); Fri, 17 Jun 2016 06:55:07 -0400 Subject: Re: [patch] sched/fair: Use instantaneous load in wakeup paths To: Mike Galbraith , Yuyang Du References: <1465891111.1694.13.camel@gmail.com> <20160614224218.GK8105@intel.com> <1465974093.4219.14.camel@gmail.com> <1466077593.2278.23.camel@gmail.com> <1466078681.2278.26.camel@gmail.com> <1466080888.2278.30.camel@gmail.com> <1466144462.3223.102.camel@gmail.com> Cc: Peter Zijlstra , LKML From: Dietmar Eggemann Message-ID: <5763D706.5020902@arm.com> Date: Fri, 17 Jun 2016 11:55:02 +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: <1466144462.3223.102.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 17/06/16 07:21, Mike Galbraith wrote: > Here are some schbench runs on an 8x8 box to show that longish > run/sleep period corner I mentioned. > > vogelweide:~/:[1]# for i in `seq 5`; do schbench -m 8 -t 1 -a -r 10 2>&1 | grep 'threads 8'; done > cputime 30000 threads 8 p99 68 > cputime 30000 threads 8 p99 46 > cputime 30000 threads 8 p99 46 > cputime 30000 threads 8 p99 45 > cputime 30000 threads 8 p99 49 > vogelweide:~/:[0]# echo NO_WAKE_INSTANTANEOUS_LOAD > /sys/kernel/debug/sched_features > vogelweide:~/:[0]# for i in `seq 5`; do schbench -m 8 -t 1 -a -r 10 2>&1 | grep 'threads 8'; done > cputime 30000 threads 8 p99 9968 > cputime 30000 threads 8 p99 10224 > vogelweide:~/:[0]# > Is this the influence of wake_affine using instantaneous load now too or did you set SD_BALANCE_WAKE on sd's or both? > Using instantaneous load, we fill the box every time, without, we stack > every time. This was with Peter's select_idle_sibling() rewrite > applied as well, but you can see that it does matter. > > That doesn't mean I think my patch should immediately fly upstream > 'course, who knows, there may be a less messy way to deal with it, or, > as already stated, maybe it just doesn't matter enough to the real > world to even bother with. IMHO, if it would be possible to get rid of sd->wake_idx, sd->forkexec_idx, the implementation would be less messy. Is there anyone changing these values to something other that the default 0? > > -Mike >