[lkml]   [2003]   [Dec]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    SubjectRe: 2.6.0 performance problems
    > CONFIG_DEBUG_PAGEALLOC really does hurt on small machines.  Mainly because
    > it rounds the size of all slab object which are >= 128 bytes up to a full
    > 4k. So things like inodes and dentries take vastly more memory.
    > The other debug options are less costly.

    The patch below rationalizes the Kconfig documentation for the debugging
    options a bit.

    * removed one occurence of 'don't enable on production systems' as this
    would imply that the other options are safe to enable on such systems.

    * added a general warning that performance may suffer (but that you should
    enable nonetheless in case of debugging), and two specific warnings, one
    for slab poisoning, a big one for page alloc debugging.

    * some spelling, added notice about /proc/sysrq-trigger to magic SysRQ

    * Removed warning about SysRQ 'only if you know what it does' - I often ask
    people to press alt-sysrq to get debugging information, only to find that
    they have it turned off, even when I would be able to understand the

    Against 2.6.0 (path is wrong), please consider applying:

    --- linux-2.6.0-test11/arch/i386/Kconfig.orig Wed Dec 31 12:03:20 2003
    +++ linux-2.6.0-test11/arch/i386/Kconfig Wed Dec 31 12:16:01 2003
    @@ -1131,7 +1131,8 @@
    bool "Kernel debugging"
    Say Y here if you are developing drivers or trying to debug and
    - identify kernel problems.
    + identify kernel problems. Enabling these features often incurs
    + a performance hit, but will help debug problems much faster.

    bool "Check for stack overflows"
    @@ -1143,7 +1144,7 @@
    Say Y here to have the kernel do limited verification on memory
    allocation as well as poisoning memory on free to catch use of freed
    - memory.
    + memory. Hurts performance.

    config DEBUG_IOVIRT
    bool "Memory mapped I/O debugging"
    @@ -1166,9 +1167,9 @@
    immediately or dump some status information). This is accomplished
    by pressing various keys while holding SysRq (Alt+PrintScreen). It
    also works on a serial console (on PC hardware at least), if you
    - send a BREAK and then within 5 seconds a command keypress. The
    - keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
    - unless you really know what this hack does.
    + send a BREAK and then within 5 seconds a command keypress.
    + Additionally, /proc/sysrq-trigger can be used. More documentation
    + is in <file:Documentation/sysrq.txt>.

    bool "Spinlock debugging"
    @@ -1180,19 +1181,18 @@
    deadlocks are also debuggable.

    - bool "Page alloc debugging"
    + bool "Page alloc debugging (slow/resource intensive)"
    depends on DEBUG_KERNEL
    Unmap pages from the kernel linear mapping after free_pages().
    - This results in a large slowdown, but helps to find certain types
    - of memory corruptions.
    + This results in a large slowdown and requires a lot of memory,
    + but helps to find certain types of memory corruptions.

    config DEBUG_HIGHMEM
    bool "Highmem debugging"
    depends on DEBUG_KERNEL && HIGHMEM
    - This options enables addition error checking for high memory systems.
    - Disable for production systems.
    + This options enables additional error checking for high memory systems.

    config DEBUG_INFO
    bool "Compile the kernel with debug info"

    -- Open source, database driven DNS Software Linux Advanced Routing & Traffic Control HOWTO
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:59    [W:0.024 / U:27.568 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site