Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752802AbbDUGmb (ORCPT ); Tue, 21 Apr 2015 02:42:31 -0400 Received: from mail-wi0-f170.google.com ([209.85.212.170]:34829 "EHLO mail-wi0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750937AbbDUGm1 (ORCPT ); Tue, 21 Apr 2015 02:42:27 -0400 Date: Tue, 21 Apr 2015 08:42:23 +0200 From: Ingo Molnar To: Steven Rostedt Cc: "Paul E. McKenney" , Clark Williams , linux-kernel@vger.kernel.org, torvalds@linux-foundation.org, a.p.zijlstra@chello.nl, akpm@linux-foundation.org, linux-rt-users@vger.kernel.org Subject: Re: [GIT RFC PULL rcu/urgent] Prevent Kconfig from asking pointless questions Message-ID: <20150421064222.GA22291@gmail.com> References: <20150418133444.GD23685@linux.vnet.ibm.com> <20150418143238.GA2337@gmail.com> <20150419020541.GA5561@linux.vnet.ibm.com> <20150420113554.598e503f@sluggy> <20150420170902.GU5561@linux.vnet.ibm.com> <20150420180107.GE24936@home.goodmis.org> <20150420180904.GA19229@gmail.com> <20150420142149.3ac58a2c@gandalf.local.home> <20150420182831.GA19510@gmail.com> <20150420143440.49e1e537@gandalf.local.home> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150420143440.49e1e537@gandalf.local.home> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2449 Lines: 74 * Steven Rostedt wrote: > On Mon, 20 Apr 2015 20:28:32 +0200 > Ingo Molnar wrote: > > > Instrumentation - especially instrumentation that should have been > > implemented mostly in user-space, like ftrace ;-) - is another special > > case that should stay as flexible as possible via sysctls, obviously. > > I know I used ftrace as an example, but a more appropriate example > would be the sched knobs, as this is more about rcu scheduling than > anything else. > > See: > > sched_autogroup_enabled sched_rr_timeslice_ms > sched_child_runs_first sched_rt_period_us > sched_domain/ sched_rt_runtime_us > sched_latency_ns sched_shares_window_ns > sched_migration_cost_ns sched_time_avg_ms > sched_min_granularity_ns sched_tunable_scaling > sched_nr_migrate sched_wakeup_granularity_ns You are comparing apples to oranges. 1) Many of these are only sysctls if CONFIG_SCHED_DEBUG is enabled, see: triton:~/tip> git grep const_debug kernel/sched/*.c kernel/sched/core.c:const_debug unsigned int sysctl_sched_features = kernel/sched/core.c:const_debug unsigned int sysctl_sched_nr_migrate = 32; kernel/sched/core.c:const_debug unsigned int sysctl_sched_time_avg = MSEC_PER_SEC; kernel/sched/core.c:const_debug unsigned int sysctl_timer_migration = 1; kernel/sched/fair.c:const_debug unsigned int sysctl_sched_migration_cost = 500000UL; and they turn into 'const' otherwise: /* * Tunables that become constants when CONFIG_SCHED_DEBUG is off: */ #ifdef CONFIG_SCHED_DEBUG # include # define const_debug __read_mostly #else # define const_debug const #endif 2) A handful of them are simple on/off knobs, such as the sched_child_runs_first quirk, or the sched_autogroup_enabled. 3) There's basically just the three sched_rt_* ones that are 'true' tunables (not on/off knobs), mostly because of ABI weakness: setscheduler() has no interface for them. Note that modern scheduler policies, like SCHED_DEADLINE, get all their policy parameters from the sched_setparam() user-space ABI, they are not driven by sysctls. So my point stands. Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/