]> git.proxmox.com Git - mirror_zfs.git/commit - module/spl/spl-proc.c
Autoconf --enable-debug-* cleanup
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 30 Oct 2009 20:58:51 +0000 (13:58 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 30 Oct 2009 20:58:51 +0000 (13:58 -0700)
commit055ffd98cf80bfc72c28d730753c7d139b704d44
tree24b7bd860c9d33327652698cd9f9b04dda50e341
parent302b88e6abc3efe86411f9622b0a27a5b8b1f417
Autoconf --enable-debug-* cleanup

Cleanup the --enable-debug-* configure options, this has been pending
for quite some time and I am glad I finally got to it.  To summerize:

1) All SPL_AC_DEBUG_* macros were updated to be a more autoconf
friendly.  This mainly involved shift to the GNU approved usage of
AC_ARG_ENABLE and ensuring AS_IF is used rather than directly using
an if [ test ] construct.

2) --enable-debug-kmem=yes by default.  This simply enabled keeping
a running tally of total memory allocated and freed and reporting a
memory leak if there was one at module unload.  Additionally, it
ensure /proc/spl/kmem/slab will exist by default which is handy.
The overhead is low for this and it should not impact performance.

3) --enable-debug-kmem-tracking=no by default.  This option was added
to provide a configure option to enable to detailed memory allocation
tracking.  This support was always there but you had to know where to
turn it on.  By default this support is disabled because it is known
to badly hurt performence, however it is invaluable when chasing a
memory leak.

4) --enable-debug-kstat removed.  After further reflection I can't see
why you would ever really want to turn this support off.  It is now
always on which had the nice side effect of simplifying the proc handling
code in spl-proc.c.  We can now always assume the top level directory
will be there.

5) --enable-debug-callb removed.  This never really did anything, it was
put in provisionally because it might have been needed.  It turns out
it was not so I am just removing it to prevent confusion.
config/spl-build.m4
configure
include/sys/callb.h
include/sys/kmem.h
include/sys/kstat.h
include/sys/proc.h
module/spl/spl-kmem.c
module/spl/spl-kstat.c
module/spl/spl-proc.c
spl_config.h.in