Subject: KMEMSTATS enabled in arm32, i386 GENERIC kernels?
To: None <current-users@NetBSD.ORG>
From: Todd Vierling <tv@pobox.com>
List: current-users
Date: 10/23/1997 10:10:37
I noticed, when compiling a kernel for a real 386--not your blazingly fast
P6, folks--that the i386 GENERIC kernel has "options KMEMSTATS" turned on by
default.  From options(4):

    options KMEMSTATS

    The kernel memory allocator, malloc(9), will keep statistics on its
    performance if this option is enabled.  Unfortunately, this option
    therefore essentially disables the MALLOC() and FREE() forms of the
    memory allocator, which are used to enhance the performance of certain
    critical sections of code in the kernel.  This option therefore can lead
    to a significant decrease in the performance of certain code in the
    kernel if enabled.  Examples of such code include the namei() routine,
    the ccd(4) driver, the ncr(4) driver, and much of the networking code. 

"This option therefore can lead to a significant decrease in the
performance...."  I don't know about on the ARM32 port, but on an 80386DX,
this performance hit is major; I observed a typical load average increase
between 0.4 and 2.1(!) doing the same tasks.  I propose that KMEMSTATS be
pulled from GENERIC (and INSTALL, if it is in any of them) kernels
altogether.  Opinions? 

=====
== Todd Vierling (Personal tv@pobox.com; Business tv@lucent.com)
== I know you like the Internet, Bobby.  Now go eat your Frosted Flakes.