OpenZFS on Linux and FreeBSD
Go to file
Brian Behlendorf 34229a2f2a Reduce stack usage for recursive traverse_visitbp()
Due to  limited stack space recursive functions are frowned upon in
the Linux kernel.  However, they often are the most elegant solution
to a problem.  The following code preserves the recursive function
traverse_visitbp() but moves the local variables AND function
arguments to the heap to minimize the stack frame size.  Enough
space is initially allocated on the stack for 20 levels of recursion.
This change does ugly-up-the-code but it reduces the worst case
usage from roughly 4160 bytes to 960 bytes on x86_64 archs.
2010-06-29 11:04:26 -07:00
cmd Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
lib Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
man/man8 Pull in latest man pages as part of update-zfs.sh 2009-12-11 16:15:33 -08:00
module Reduce stack usage for recursive traverse_visitbp() 2010-06-29 11:04:26 -07:00
scripts Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00
.gitignore Ignore unsigned module build products 2010-03-09 14:14:09 -08:00
.topdeps Reduce stack usage for recursive traverse_visitbp() 2010-06-29 11:04:26 -07:00
.topmsg Reduce stack usage for recursive traverse_visitbp() 2010-06-29 11:04:26 -07:00
AUTHORS Add AUTHORS to master branch 2010-05-18 14:55:01 -07:00
COPYING Relocate COPYING+COPYRIGHT, remove README cruft 2008-12-01 15:34:53 -08:00
COPYRIGHT Update COPYRIGHT to reference zpios CDDL exceptions. 2010-05-18 14:25:28 -07:00
DISCLAIMER Update COPYRIGHT and DISCLAIMER. 2010-05-18 10:32:23 -07:00
GIT Refresh type in topgit git://* reference 2009-01-26 21:58:32 -08:00
OPENSOLARIS.LICENSE Add CDDL license file 2008-12-01 14:49:34 -08:00
ZFS.RELEASE Update core ZFS code from build 121 to build 141. 2010-05-28 13:45:14 -07:00