Re: [RFC][PATCH] O(1) Entitlement Based Scheduler
From: Peter Williams
Date: Tue Mar 02 2004 - 22:47:43 EST
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.
In reality, batch type jobs tend to get better throughput with a longer
half life but a shorter half life gives better interactive response. So
servers and work stations should probably have different settings.
I really like the reduced scheduler complexity part of your patch BTW.
IMHO the 2.6 scheduler's complexity has gotten out of hand and it's great
that someone is going into the other direction with a simple basic design.
Thanks, we felt much the same. With a heuristic approach there always
seems to be one more case that needs to be handled specially popping up.
For more wide spread testing it would be useful if you could do
a more minimal less intrusive patch with less configuration
(e.g. only allow tuning via nice, not via other means). This would
be mainly to test your patch on more workloads without any hand tuning,
which is the most important use case.
The "base" patch does this except that it also allows the setting of
soft caps via /proc. But, as I said above, the main reason for the
tuning parameters being exposed (in the full patch) at this time is to
encourage testing with different values (of half life and time slice)
and making them settable via /proc makes this possible without having to
reboot the system.
Except for (possibly) renicing the X server there should be no need to
fiddle with settings for individual tasks.
Peter
PS We are looking at some simple modifications to further improve
interactive response (hopefully) without adding to complexity.
--
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/