Re: [RFC][PATCH] O(1) Entitlement Based Scheduler

From: Andi Kleen
Date: Wed Mar 03 2004 - 05:16:28 EST


On Wed, Mar 03, 2004 at 02:45:28PM +1100, Peter Williams wrote:
> Andi Kleen wrote:
> >Peter Williams <peterw@xxxxxxxxxx> writes:
> >
> >One comment on the patches: could you remove the zillions of numerical
> >Kconfig
> >options and just make them sysctls? I don't think it makes any sense
> >to require a reboot to change any of that. And the user is unlikely
> >to have much idea yet on what he wants on them while configuring.
>
> The default initial values should be fine and the default configuration
> allows the scheduling tuning parameters (i.e. half life and time slice
> ) to be changed on a running system via the /proc file system.
> These are mainly there so that different settings can be used with
> various benchmarks to determine what are the best settings for various
> types of loads. If good default values that work well for a wide
> variety of load types can be found as a result of these experiments then
> these parameters may be made constants in the code. If not they
> probably should be made settable via system calls rather than via /proc
> as you suggest.

No doubt that there are different settings that make sense
for different workloads. But there is no reason one has to recompile
to set them - it's much nicer to just run a script at boot time to set
them, instead of recompiling/rebooting. This will also make benchmarking
much easier, because you can just write a script that sets the
various parameters, runs workloads, sets other parameters, runs
workload again etc. Requiring a recompile and reboot makes this
much harder.

Also I suspect most people who are not heavily into scheduling
theory will go with the defaults at compile time, so it's important
that they already work well.

And consider it from the side of a standard distribution: users
don't normally recompile their kernels there, so everything that
makes sense to be tunable should be settable without recompiling.

IMHO CONFIG_* should not be used for anything except for kernel binary
size tuning and possible compiler tuning.

-Andi

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/