lkml.org 
[lkml]   [2003]   [Dec]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    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
    output.

    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"
    help
    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.

    config DEBUG_STACKOVERFLOW
    bool "Check for stack overflows"
    @@ -1143,7 +1144,7 @@
    help
    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>.

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

    config DEBUG_PAGEALLOC
    - bool "Page alloc debugging"
    + bool "Page alloc debugging (slow/resource intensive)"
    depends on DEBUG_KERNEL
    help
    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
    help
    - 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"

    --
    http://www.PowerDNS.com Open source, database driven DNS Software
    http://lartc.org Linux Advanced Routing & Traffic Control HOWTO
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

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