linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Theodore Ts'o" <tytso@mit.edu>
To: David Woodhouse <dwmw2@infradead.org>
Cc: "David S. Miller" <davem@redhat.com>,
	bunk@fs.tum.de, acme@conectiva.com.br, netdev@oss.sgi.com,
	pekkas@netcore.fi, lksctp-developers@lists.sourceforge.net,
	linux-kernel@vger.kernel.org
Subject: Re: RFC: [2.6 patch] disallow modular IPv6
Date: Tue, 30 Sep 2003 10:21:54 -0400	[thread overview]
Message-ID: <20030930142154.GA28501@thunk.org> (raw)
In-Reply-To: <1064910398.21551.41.camel@hades.cambridge.redhat.com>

On Tue, Sep 30, 2003 at 09:26:38AM +0100, David Woodhouse wrote:
> > The suggestions I see do nothing to enhance the kernel tree as it currently
> > stands.  If you wish to prevent the kernel image from changing due to
> > out-of-tree modules being built, fine, but don't impose this restriction
> > upon in-kernel modules.
> 
> It's a matter of taste. As I said, it's your right to disagree.
> 
> Some time during 2.7 I'm sure one of the many people who agree with
> Adrian and myself will send patches to Linus and he'll get to arbitrate.


FWIW, I agree with Dave.  Most of the time, enabling a device driver
won't cause the core kernel to change, sure.  

However, there will be cases (such as enabling wireless ethernet
drivers as modules, for example) where in order to support those
modules, some new core kernel infrastructure will need to be enabled.

Now, there are a couple of ways ways you can handle this.  One is that
the core infrastructure could have its own CONFIG_infrastructure
boolean, and if that symbol is 'no', then you won't be able to build
those modules until you recompile the base kernel with
CONFIG_infrastructure.  Another is that you can make enabling any one
of the device driver modules "automatically" enable inclusion of the
base core infrastructure.

It then all boils down to tradeoffs and aesthetics.  By making
CONFIG_infrastructure explicit, it makes it more clear what is going
on --- but if it is defaulted on, or if you require that whatever is
under the CONFIG_infrastructure ifdef is always compiled in, then that
way leads to kernel boot.  But if it is defaulted off, then the user
will be forced to recompile the kernel anyway, before he/she can
enable the kernel module in question.  Including CONFIG_infrastructure
explicitly also makes the kernel build process more complex, and can
also make life more confusing to the user --- the question about
whether or not you can build a particular device driver won't even
appear until the user enables CONFIG_infrastructure, and the user may
have a really hard time figuring out that CONFIG_infrastructure is the
way to make a particular device driver appear.

For that reason, I tend to prefer the approach of simply enabling a
device driver, and then letting that force a change in the base kernel
to include any necessary base infrastructure in the kernel if
necessary.  It's simpler from a configuration perspective.  And if the
user types "make modules" after making such a change, ideally the
build system should warn the user that it will be necessary to rebuild
the base kernel before it can build the module.

						- Ted

  parent reply	other threads:[~2003-09-30 14:37 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-28 22:59 RFC: [2.6 patch] disallow modular IPv6 Adrian Bunk
2003-09-28 23:18 ` Arnaldo Carvalho de Melo
2003-09-28 23:24   ` Adrian Bunk
2003-09-28 23:39     ` Arnaldo Carvalho de Melo
2003-09-28 23:47       ` Arnaldo Carvalho de Melo
2003-09-29  0:14       ` Adrian Bunk
2003-09-29  0:32         ` Arnaldo Carvalho de Melo
2003-09-29  9:02           ` David Woodhouse
2003-09-29 14:15             ` Arnaldo Carvalho de Melo
2003-09-29 14:28               ` Jan Evert van Grootheest
2003-09-29 14:29               ` David Woodhouse
2003-09-29 14:38               ` Valdis.Kletnieks
2003-09-29 14:46                 ` David Woodhouse
2003-09-30  5:17             ` David S. Miller
2003-09-30  6:31               ` David Woodhouse
2003-10-01 19:47                 ` Guennadi Liakhovetski
2003-09-30  5:11           ` David S. Miller
2003-09-30 13:37             ` Adrian Bunk
2003-09-30 15:04               ` Arnaldo Carvalho de Melo
2003-10-01  6:39                 ` David S. Miller
2003-09-30  5:09     ` David S. Miller
2003-09-30  6:32       ` David Woodhouse
2003-09-30  7:03         ` David S. Miller
2003-09-30  7:39           ` David Woodhouse
2003-09-30  8:08             ` David S. Miller
2003-09-30  8:26               ` David Woodhouse
2003-09-30  8:30                 ` David S. Miller
2003-09-30  8:42                   ` David Woodhouse
2003-09-30  8:51                     ` David S. Miller
2003-09-30  9:14                       ` David Woodhouse
2003-09-30  9:17                         ` David Woodhouse
2003-09-30  9:24                         ` David S. Miller
2003-09-30  9:57                           ` Sam Ravnborg
2003-09-30 10:02                           ` David Woodhouse
2003-09-30 10:01                             ` David S. Miller
2003-09-30 10:14                               ` David Woodhouse
2003-09-30 11:39                             ` Sam Ravnborg
2003-09-30 13:44                           ` Dana Lacoste
2003-09-30 13:50                           ` Kai Germaschewski
2003-09-30 15:13                   ` Richard Guy Briggs
2003-09-30 14:21                 ` Theodore Ts'o [this message]
2003-09-30 14:51                   ` David Woodhouse
2003-09-30 12:06               ` Olivier Galibert
2003-09-29  6:29 ` Pekka Savola

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030930142154.GA28501@thunk.org \
    --to=tytso@mit.edu \
    --cc=acme@conectiva.com.br \
    --cc=bunk@fs.tum.de \
    --cc=davem@redhat.com \
    --cc=dwmw2@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lksctp-developers@lists.sourceforge.net \
    --cc=netdev@oss.sgi.com \
    --cc=pekkas@netcore.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).