From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965704AbcAZMwa (ORCPT ); Tue, 26 Jan 2016 07:52:30 -0500 Received: from mail-wm0-f53.google.com ([74.125.82.53]:38714 "EHLO mail-wm0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932339AbcAZMw1 (ORCPT ); Tue, 26 Jan 2016 07:52:27 -0500 Date: Tue, 26 Jan 2016 13:52:19 +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: <20160126135219.338e8ccb@utopia> In-Reply-To: <20160115085004.GE3421@worktop> 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> Organization: university of trento X-Mailer: Claws Mail 3.12.0 (GTK+ 2.24.28; x86_64-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 Hi Peter, On Fri, 15 Jan 2016 09:50:04 +0100 Peter Zijlstra wrote: [...] > > >>NOTE: the fraction of CPU time that cannot be reclaimed is > > >>currently hardcoded as (1 << 20) / 10 -> 90%, but it must be made > > >>configurable! > > > > > >So the alternative is an explicit SCHED_OTHER server which is > > >configurable. > > Yes, I have thought about something similar (actually, this is the > > strategy I implemented in my first CBS/GRUB scheduler. With the > > "old" 2.4 scheduler, this was easier :). > > But I think the solution I implemented in this patch is much > > simpler (it just requires a very simple modification to > > grub_reclaim()) and is more elegant from the theoretical point of > > view. > > It is certainly simpler, agreed. > > 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? Thanks, Luca