From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753190AbdECVtY (ORCPT ); Wed, 3 May 2017 17:49:24 -0400 Received: from mail-yb0-f193.google.com ([209.85.213.193]:36342 "EHLO mail-yb0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752433AbdECVtQ (ORCPT ); Wed, 3 May 2017 17:49:16 -0400 Date: Wed, 3 May 2017 17:49:13 -0400 From: Tejun Heo To: Peter Zijlstra Cc: Vincent Guittot , Ingo Molnar , linux-kernel , Linus Torvalds , Mike Galbraith , Paul Turner , Chris Mason , kernel-team@fb.com Subject: Re: [PATCH 2/2] sched/fair: Always propagate runnable_load_avg Message-ID: <20170503214913.GB7451@htj.duckdns.org> References: <20170426225202.GC11348@wtj.duckdns.org> <20170428203347.GC19364@htj.duckdns.org> <20170502215054.GC5335@htj.duckdns.org> <20170503093723.tnt53ppb23tn6buz@hirez.programming.kicks-ass.net> <20170503130938.44rftdivrlpz4p3b@hirez.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170503130938.44rftdivrlpz4p3b@hirez.programming.kicks-ass.net> User-Agent: Mutt/1.8.0 (2017-02-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 03, 2017 at 03:09:38PM +0200, Peter Zijlstra wrote: > On Wed, May 03, 2017 at 12:37:37PM +0200, Vincent Guittot wrote: > > On 3 May 2017 at 11:37, Peter Zijlstra wrote: > > > > Of course, it could be I overlooked something, in which case, please > > > tell :-) > > > > That's mainly based on the regression i see on my platform. I haven't > > find the root cause of the regression but it's there which means that > > using group_entity's load_avg to propagate child cfs_rq > > runnable_load_avg breaks something > > (as mentioned on IRC) > > Right.. so looking through the code, (group) se->avg.load_avg is used in > effective_load() (and thereby wake_affine()) and update_cfs_rq_h_load() > (and therefore task_h_load()). > > So changing it will affect those two functions, which could well lead to > your regression. Ah, okay, that makes sense. I'll try to finish the patch to propagate runnable without affecting group se->avg.load_avg. BTW, Vincent, did you boost the weight of the cgroup when you were testing? If you put schbench inside a cgroup and have some base load, it is actually expected to show worse latency. You need to give higher weight to the cgroup matching the number of active threads (to be accruate, scaled by duty cycle but shouldn't matter too much in practice). Thanks. -- tejun