Re: [RFC 1/4] CONFIG_STABLE: Define it

Dave Jones
2007-06-01T18:08:59Z

On Wed, May 30, 2007 at 05:49:56PM -0700, Christoph Lameter wrote:
> On Thu, 31 May 2007, young dave wrote:
>
> > Hi Christoph,
> >
> > > Introduce CONFIG_STABLE to control checks only useful for development.
> >
> > What about control checks only as SLUB_DEBUG is set?
>
> Debug code is always included in all builds unless it is an embedded
> system. Debug code is kept out of the hot path.
>
> Disabling SLUB_DEBUG should only be done for embedded systems. That is why
> the option is in CONFIG_EMBEDDED.

Something I'd really love to have is a CONFIG option to decide if
slub_debug is set or not by default. The reasoning behind this is that during
development of each Fedora release, I used to leave SLAB_DEBUG=y for
months on end and catch all kinds of nasties.

Now that I've switched it over to using slub, I ended up adding the
ugly patch below, because otherwise, no-one would ever run with
slub_debug and we'd miss out on all those lovely bugs.
(I have 'make release' and 'make debug' targets which enable/disable
this [and other] patches in the Fedora kernel).

(Patch for illustration only, obviously not for applying).

Unless someone beats me to it, I'll hack up a CONFIG option around
this. Having that turned on if !CONFIG_STABLE would also be a win I think.

Dave

--- linux-2.6/mm/slub.c~ 2007-05-27 21:48:42.000000000 -0400
+++ linux-2.6/mm/slub.c 2007-05-27 21:51:22.000000000 -0400
@@ -323,7 +323,7 @@ static inline int slab_index(void *p, st
/*
* Debug settings:
*/
-static int slub_debug;
+static int slub_debug = DEBUG_DEFAULT_FLAGS;

static char *slub_debug_slabs;

--