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

From: Andi Kleen (ak_at_suse.de)
Date: 03/03/04

  • Next message: Markus Lidel: "Re: [PATCH] i2o subsystem minor bugfixes to work with 2.6.3 kernel"
    Date:	Wed, 3 Mar 2004 11:13:37 +0100
    To: Peter Williams <peterw@aurema.com>
    
    

    On Wed, Mar 03, 2004 at 02:45:28PM +1100, Peter Williams wrote:
    > Andi Kleen wrote:
    > >Peter Williams <peterw@aurema.com> 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@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Markus Lidel: "Re: [PATCH] i2o subsystem minor bugfixes to work with 2.6.3 kernel"

    Relevant Pages

    • Re: [RFC][PATCH] O(1) Entitlement Based Scheduler
      ... But there is no reason one has to recompile ... > various parameters, runs workloads, sets other parameters, runs ... > workload again etc. Requiring a recompile and reboot makes this ... At least those are the reasons why I would feel able to tune the ...
      (Linux-Kernel)
    • Re: via vt8233a spu problems, 5.1r (bug?)
      ... Download the 5.2-BETA mini ISO image, install 5.2-BETA, then install ... CVSUP your sources to -CURRENT, recompile your kernel, and reboot. ...
      (freebsd-current)
    • Re: FreeLibrary REPOST
      ... In your DLLMAIN ATTACH_PROCESS, ... but this problem i smaking me reboot my computer ... > recompile, i have to reboot as it cannot recompile the DLL since it is ...
      (microsoft.public.vc.language)
    • Re: VMware server cannot run on FC6
      ... On reboot, the previously compiled module "just worked" without a ... recompile, now it had an i686 arch kernel to get into. ...
      (Fedora)
    • FreeLibrary REPOST
      ... like i said, usually after 5 debug sessions, where i have to quit my app to ... recompile, i have to reboot as it cannot recompile the DLL since it is STILL ...
      (microsoft.public.vc.language)