ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: "Bird, Tim" <Tim.Bird@sonymobile.com>
To: "ksummit-discuss@lists.linuxfoundation.org"
	<ksummit-discuss@lists.linuxfoundation.org>,
	"josh@joshtriplett.org" <josh@joshtriplett.org>
Subject: [Ksummit-discuss] RFC: Kernel tinification - kernel config reduction
Date: Wed, 13 Aug 2014 19:29:21 +0200	[thread overview]
Message-ID: <F5184659D418E34EA12B1903EE5EF5FD0130D4AC5B90@seldmbx02.corpusers.net> (raw)

I'd like to raise an issue, ahead of the kernel summit, on the topic of reducing
kernel config options. (Or, at least, reducing the combinatorial explosion effect
for config options).

Earlier this year when some patches were submitted to make the network
stack more configurable, there was some pushback, due (in part) to the
introduction of more kernel config options.
See http://thread.gmane.org/gmane.linux.kernel/1696910
I think it is reasonable to be concerned over the testability of myriad config
options.

In the past, there have been efforts to curb the number of kernel config
options, but since we now stand at about 15,000 options throughout the
kernel, this seems like a battle we've mostly given up on.

I propose that we remove or hide a lot of the configuration options related
to size, and instead focus on size profiles. When someone wants to build a
minimal Linux system, they don't really want to manually trim down every
Linux sub-system.  The more common development case is that they want
a fully minimal Linux system, except for one or two areas where they want
some flexibility in features.  I propose that we tie most of the options that
are currently in the kernel for size reasons to a single or a few meta-options:
e.g. CONFIG_SMALL, CONFIG_TINY, CONFIG_RIDICULOUS.  These
different meta-config options can get better testing, and this will help curb
the proliferation of size-related config options (and the resulting test
combination explosion for those individual options.)

Note that this would be for sub-system related (feature or size) config options,
and not driver-related config options.  Obviously, you have to have drivers
for the hardware you plan to run on.

Optimally it would be nice to have the ability to configure a small system, and
then "back off" of the tiny config in a particular area (say networking).
I believe this would yield a much more tractable system for building small
systems with Linux, than the current situation.

I'd like to discuss implementation ideas for this in the hallway track at KS.

Thoughts? 
 -- Tim

             reply	other threads:[~2014-08-13 17:29 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-13 17:29 Bird, Tim [this message]
2014-08-13 18:07 ` Guenter Roeck
2014-08-13 19:53   ` Geert Uytterhoeven
2014-08-13 22:45     ` Guenter Roeck
2014-08-14  0:14       ` Mark Brown
2014-08-14  0:38         ` Guenter Roeck
2014-08-14 15:33           ` Mark Brown
2014-08-14  7:49         ` Geert Uytterhoeven
2014-08-14 16:39           ` Mark Brown
2014-08-14  7:40       ` Geert Uytterhoeven
2014-08-14  8:50         ` Guenter Roeck
2014-08-14  9:02           ` Geert Uytterhoeven
2014-08-15 11:04             ` Guenter Roeck
2014-08-14 19:57   ` Stefan Hengelein
2014-08-13 19:19 ` josh
2014-08-14 16:30   ` Tim Bird
2014-08-14 17:17     ` Josh Triplett
2014-08-14 16:03 ` Christoph Lameter
2014-08-14 18:54 ` Jan Kara

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=F5184659D418E34EA12B1903EE5EF5FD0130D4AC5B90@seldmbx02.corpusers.net \
    --to=tim.bird@sonymobile.com \
    --cc=josh@joshtriplett.org \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    /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