Subject: Re: dynamic configuration (was Re: PR#4094)
To: Matthew Orgass <darkstar@pgh.net>
From: Michael Richardson <mcr@sandelman.ottawa.on.ca>
List: tech-kern
Date: 10/22/2000 22:35:05
>>>>> "Matthew" == Matthew Orgass <darkstar@pgh.net> writes:
    Matthew> On Sun, 8 Oct 2000, Michael Richardson wrote:

    >> My desire is to be able to build *static* kernels from CD. While being able 
    >> to load modules for devices is nice during testing, the infrastructure for
    >> adding things to autoconf is not that at present. I'd dearly like to add it,
    >> but I think this will be a tempest in a teacup...

    Matthew>   Usually once you pay the price of being able to dynamically load
    Matthew> something, there is little if any gain in separating the static part. 

  Huh? 

    Matthew> Whether the kernel is static or dynamic should just affect when the
    Matthew> modules are linked, not what acutally happens.  Unless there is a
    Matthew> significant performance difference, it isn't worth being able do to things
    Matthew> both ways.

  Please explain further.
  There are significant reliability and maintenance issues with dynamic
loading. Witness DLL rot, and Linux in general.
  
    >> >> But, I'd rather have all of this explicit in a config file
    >> 
    Matthew> If you use init sections properly, you don't need config files at all.
    >> 
    >> I *LIKE* the config files. They are very useful. It needs to be easier to,
    >> e.g. remove all PCMCIA devices for a machine that doesn't have that bus, but 
    >> that is still nice.

    Matthew>   The nice thing is you don't *need* config files.  You could just link in
    Matthew> a module and have it work.  However, on further thought init sections are
  
  I *WANT* config files.
  I do not want things to magically happen. That way lies Windows.

    Matthew>   I think one requirement in any serious move towards dynamic
    Matthew> configuration should be the ability to create a statically linked kernel
    Matthew> with only object files and a linker.  As long as things like DEBUG and
    Matthew> DIAGNOSTIC are defined at compile time, it should not be that difficult to
    Matthew> do (though it would still involve a fair number of changes).  Config info
    Matthew> could be written with linker scripts.

  Please explain further.

   :!mcr!:            |  Solidum Systems Corporation, http://www.solidum.com
   Michael Richardson |          now at 1575 Carling Avenue... 
 Personal: mcr@sandelman.ottawa.on.ca. PGP key available.
 Corporate: <A HREF="mailto:mcr@solidum.com">mcr@solidum.com</A>.