Messages in this thread Patch in this message |  | | | Date | Wed, 31 Dec 2003 12:25:45 +0100 | | From | bert hubert <> | | Subject | Re: 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/
|  |