From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751543AbbJLJML (ORCPT ); Mon, 12 Oct 2015 05:12:11 -0400 Received: from casper.infradead.org ([85.118.1.10]:45916 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751169AbbJLJMK (ORCPT ); Mon, 12 Oct 2015 05:12:10 -0400 Date: Mon, 12 Oct 2015 11:12:06 +0200 From: Peter Zijlstra To: Yuyang Du Cc: Mike Galbraith , linux-kernel@vger.kernel.org Subject: Re: 4.3 group scheduling regression Message-ID: <20151012091206.GK3816@twins.programming.kicks-ass.net> References: <201510081054.t98AsL1U003456@como.maths.usyd.edu.au> <20151008111959.GM3816@twins.programming.kicks-ass.net> <1444483369.2804.9.camel@gmail.com> <20151010170142.GI3816@twins.programming.kicks-ass.net> <1444530318.3363.40.camel@gmail.com> <1444585321.4169.18.camel@gmail.com> <20151012072344.GM3604@twins.programming.kicks-ass.net> <1444635897.3425.19.camel@gmail.com> <20151012080407.GJ3816@twins.programming.kicks-ass.net> <20151012005351.GJ11102@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151012005351.GJ11102@intel.com> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Oct 12, 2015 at 08:53:51AM +0800, Yuyang Du wrote: > Good morning, Peter. > > On Mon, Oct 12, 2015 at 10:04:07AM +0200, Peter Zijlstra wrote: > > On Mon, Oct 12, 2015 at 09:44:57AM +0200, Mike Galbraith wrote: > > > > > It's odd to me that things look pretty much the same good/bad tree with > > > hogs vs hogs or hogs vs tbench (with top anyway, just adding up times). > > > Seems Xorg+mplayer more or less playing cross group ping-pong must be > > > the BadThing trigger. > > > > Ohh, wait, Xorg and mplayer are _not_ in the same group? I was assuming > > you had your entire user session in 1 (auto) group and was competing > > against 8 manual cgroups. > > > > So how exactly are things configured? > > Hmm... my impression is the naughty boy mplayer (+Xorg) isn't favored, due > to the per CPU group entity share distribution. Let me dig more. So in the old code we had 'magic' to deal with the case where a cgroup was consuming less than 1 cpu's worth of runtime. For example, a single task running in the group. In that scenario it might be possible that the group entity weight: se->weight = (tg->shares * cfs_rq->weight) / tg->weight; Strongly deviates from the tg->shares; you want the single task reflect the full group shares to the next level; due to the whole distributed approximation stuff. I see you've deleted all that code; see the former __update_group_entity_contrib(). It could be that we need to bring that back. But let me think a little bit more on this.. I'm having a hard time waking :/