linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Chris Snook <csnook@redhat.com>
To: Satyam Sharma <satyam.sharma@gmail.com>
Cc: "clameter@sgi.com" <clameter@sgi.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	akpm@linux-foundation.org
Subject: Re: [RFC 1/4] CONFIG_STABLE: Define it
Date: Fri, 20 Jul 2007 07:34:10 -0400	[thread overview]
Message-ID: <46A09DB2.5040408@redhat.com> (raw)
In-Reply-To: <a781481a0707200427y7a29257fpfa5978c391eb3534@mail.gmail.com>

Satyam Sharma wrote:
> On 7/20/07, Chris Snook <csnook@redhat.com> wrote:
>> Satyam Sharma wrote:
>> > [ Just cleaning up my inbox, and stumbled across this thread ... ]
>> >
>> >
>> > On 5/31/07, clameter@sgi.com <clameter@sgi.com> wrote:
>> >> Introduce CONFIG_STABLE to control checks only useful for development.
>> >>
>> >> Signed-off-by: Christoph Lameter <clameter@sgi.com>
>> >> [...]
>> >>  menu "General setup"
>> >>
>> >> +config STABLE
>> >> +       bool "Stable kernel"
>> >> +       help
>> >> +         If the kernel is configured to be a stable kernel then 
>> various
>> >> +         checks that are only of interest to kernel development 
>> will be
>> >> +         omitted.
>> >> +
>> >
>> >
>> > "A programmer who uses assertions during testing and turns them off
>> > during production is like a sailor who wears a life vest while drilling
>> > on shore and takes it off at sea."
>> >                                                - Tony Hoare
>> >
>> >
>> > Probably you meant to turn off debug _output_ (and not _checks_)
>> > with this config option? But we already have CONFIG_FOO_DEBUG_BAR
>> > for those situations ...
>>
>> There are plenty of validation and debugging features in the kernel 
>> that go WAY
>> beyond mere assertions, often imposing significant overhead 
>> (particularly when
>> you scale up) or creating interfaces you'd never use unless you were 
>> doing
>> kernel development work.  You really do want these features completely 
>> removed
>> from production kernels.
> 
> As for entire such "development/debugging-related features", most (all, 
> really)
> should anyway have their own config options.

They do.  With kconfig dependencies, we can ensure that those config options are 
off when CONFIG_STABLE is set.  That way you only have to set one option to 
ensure that all these expensive checks are disabled.

>> The point of this is not to remove one-line WARN_ON and BUG_ON checks 
>> (though we
>> might remove a few from fast paths), but rather to disable big chunks of
>> debugging code that don't implement anything visible to a production 
>> workload.
> 
> Oh yes, but it's still not clear to me why or how a kernel-wide 
> "CONFIG_STABLE"
> or "CONFIG_RELEASE" would help ... what's wrong with finer granularity
> "CONFIG_xxx_DEBUG_xxx" kind of knobs?

With kconfig dependencies, we can keep the fine granularity, but not have to 
spend a half hour digging through the configuration to make sure we have a 
production-suitable kernel.

	-- Chris

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2007-07-20 11:34 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-31  0:20 [RFC 0/4] CONFIG_STABLE to switch off development checks clameter
2007-05-31  0:20 ` [RFC 1/4] CONFIG_STABLE: Define it clameter
2007-05-31  0:35   ` young dave
2007-05-31  0:49     ` Christoph Lameter
2007-06-01 18:08       ` Dave Jones
2007-06-01 18:25         ` Christoph Lameter
2007-05-31  8:54   ` Stefan Richter
2007-05-31  9:03     ` David Miller, Stefan Richter
2007-05-31  9:03     ` Stefan Richter
2007-05-31 21:11   ` Andrew Morton
2007-05-31 21:14     ` Christoph Lameter
2007-05-31 21:30     ` Sam Ravnborg
2007-06-01 18:02       ` Dave Jones
2007-06-01 20:22         ` Sam Ravnborg
2007-06-01 20:30           ` Dave Jones
2007-06-01 20:55             ` Sam Ravnborg
2007-06-01 20:25     ` Sam Ravnborg
2007-07-20 10:41   ` Satyam Sharma
2007-07-20 11:09     ` Chris Snook
2007-07-20 11:27       ` Satyam Sharma
2007-07-20 11:34         ` Chris Snook [this message]
2007-07-20 11:40           ` Satyam Sharma
2007-07-20 11:50             ` Chris Snook
2007-07-20 16:48               ` Stefan Richter
2007-07-20 16:28     ` Stefan Richter
2007-07-20 16:36       ` Stefan Richter
2007-07-20 19:09         ` Chuck Ebbert
2007-05-31  0:20 ` [RFC 2/4] CONFIG_STABLE: Switch off kmalloc(0) tests in slab allocators clameter
2007-05-31 19:51   ` Zach Brown
2007-05-31 22:37     ` Andi Kleen
2007-05-31  0:20 ` [RFC 3/4] CONFIG_STABLE: Switch off SLUB banner clameter
2007-05-31  0:20 ` [RFC 4/4] CONFIG_STABLE: SLUB: Prefer object corruption over failure clameter
2007-06-01 14:55 ` [RFC 0/4] CONFIG_STABLE to switch off development checks Jeremy Fitzhardinge
2007-06-01 18:38   ` Christoph Lameter
2007-06-01 18:58     ` Jeremy Fitzhardinge
2007-06-01 20:59       ` Christoph Lameter
2007-06-01 21:24         ` Jeremy Fitzhardinge
2007-06-02 15:23       ` Dave Kleikamp
2007-06-02 16:28         ` Jeremy Fitzhardinge
2007-06-04  1:03           ` Dave Kleikamp

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=46A09DB2.5040408@redhat.com \
    --to=csnook@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=clameter@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=satyam.sharma@gmail.com \
    /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