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

From: Peter Williams
Date: Wed Mar 03 2004 - 18:48:55 EST


Andi Kleen wrote:
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.

As I said (with the full patch) these values can be set via /proc on a running system so there's no need for a recompile and reboot.


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.

Yes, once this patch has stabilised we will probably remove some (or all) of the configuration variables.

Peter
--
Dr Peter Williams, Chief Scientist peterw@xxxxxxxxxx
Aurema Pty Limited Tel:+61 2 9698 2322
PO Box 305, Strawberry Hills NSW 2012, Australia Fax:+61 2 9699 9174
79 Myrtle Street, Chippendale NSW 2008, Australia http://www.aurema.com

-
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/