lkml.org 
[lkml]   [2015]   [Apr]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [GIT RFC PULL rcu/urgent] Prevent Kconfig from asking pointless questions

* Steven Rostedt <rostedt@goodmis.org> wrote:

> On Mon, 20 Apr 2015 20:28:32 +0200
> Ingo Molnar <mingo@kernel.org> 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 <linux/static_key.h>
# 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


\
 
 \ /
  Last update: 2015-04-21 09:21    [W:0.067 / U:3.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site