From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965142AbcBBUxb (ORCPT ); Tue, 2 Feb 2016 15:53:31 -0500 Received: from mail-wm0-f49.google.com ([74.125.82.49]:34070 "EHLO mail-wm0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932934AbcBBUx1 (ORCPT ); Tue, 2 Feb 2016 15:53:27 -0500 Date: Tue, 2 Feb 2016 21:53:10 +0100 From: Luca Abeni To: Peter Zijlstra Cc: linux-kernel@vger.kernel.org, Ingo Molnar , Juri Lelli Subject: Re: [RFC 8/8] Do not reclaim the whole CPU bandwidth Message-ID: <20160202215310.43fef86b@luca-1225C> In-Reply-To: <20160127144422.GS6357@twins.programming.kicks-ass.net> References: <1452785094-3086-1-git-send-email-luca.abeni@unitn.it> <1452785094-3086-9-git-send-email-luca.abeni@unitn.it> <20160114195904.GH6357@twins.programming.kicks-ass.net> <5698ABFD.1040704@unitn.it> <20160115085004.GE3421@worktop> <20160126135219.338e8ccb@utopia> <20160127144422.GS6357@twins.programming.kicks-ass.net> X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.10; i686-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 27 Jan 2016 15:44:22 +0100 Peter Zijlstra wrote: > On Tue, Jan 26, 2016 at 01:52:19PM +0100, luca abeni wrote: > > > > The trouble is with interfaces. Once we expose them we're stuck > > > with them. And from that POV I think an explicit SCHED_OTHER > > > server (or a minimum budget for a slack time scheme) makes more > > > sense. > > > I am trying to work on this. > > Which kind of interface is better for this? Would adding something > > like /proc/sys/kernel/sched_other_period_us > > /proc/sys/kernel/sched_other_runtime_us > > be ok? > > > > If this is ok, I'll add these two procfs files, and store > > (sched_other_runtime / sched_other_period) << 20 in the runqueue > > field which represents the unreclaimable utilization (implementing > > hierarchical SCHED_DEADLINE/CFS scheduling right now is too complex > > for this patchset... But if the exported interface is ok, it can be > > implemented later). > > > > Is this approach acceptable? Or am I misunderstanding your comment? > > No, I think that's fine. So, I implemented this idea (/proc/sys/kernel/sched_other_period_us and /proc/sys/kernel/sched_other_runtime_us to set the unreclaimable utilization), and some initial testing seems to show that it works fine. However, after double-thinking about it I am wondering if using a runqueue field to store the unreclaimable utilization (unusable_bw in my original patch) makes sense or not... This value is the same for all the runqueue, and changing sched_other_runtime/sched_other_period changes the unreclaimable utilization on all the runqueues... So maybe it is better to use a global variable instead of a runqueue field? Any ideas / suggestions? Before sending a v2 of the RFC, I'd like to be sure that I am doing the right thing. Thanks, Luca