Brian Behlendorf
983bc7237f
New TopGit dependency: fix-stack-traverse_visitbp
2010-06-29 11:04:48 -07:00
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
Brian Behlendorf
cfa80a0ccf
Merge branch 'linux-spa-thread' into refs/top-bases/linux-zfs-branch
2010-06-29 11:02:20 -07:00
Brian Behlendorf
61dfb6c274
Merge commit 'refs/top-bases/linux-spa-thread' into linux-spa-thread
2010-06-29 11:02:18 -07:00
Brian Behlendorf
3252e635d1
Merge branch 'linux-topology' into refs/top-bases/linux-zfs-branch
2010-06-29 11:02:12 -07:00
Brian Behlendorf
b1a6216b64
Merge commit 'refs/top-bases/linux-topology' into linux-topology
2010-06-29 11:02:10 -07:00
Brian Behlendorf
c22810344e
Merge branch 'linux-sha2' into refs/top-bases/linux-zfs-branch
2010-06-29 11:02:04 -07:00
Brian Behlendorf
0599c5460c
Merge commit 'refs/top-bases/linux-sha2' into linux-sha2
2010-06-29 11:02:02 -07:00
Brian Behlendorf
044346a4e7
Merge branch 'linux-user-util' into refs/top-bases/linux-zfs-branch
2010-06-29 11:01:56 -07:00
Brian Behlendorf
08de33b9d4
Merge commit 'refs/top-bases/linux-user-util' into linux-user-util
2010-06-29 11:01:54 -07:00
Brian Behlendorf
81e9c8367d
Merge branch 'linux-events' into refs/top-bases/linux-zfs-branch
2010-06-29 11:01:48 -07:00
Brian Behlendorf
f13bc68113
Merge commit 'refs/top-bases/linux-events' into linux-events
2010-06-29 11:01:46 -07:00
Brian Behlendorf
35ceec1c0d
Merge branch 'linux-kernel-module' into refs/top-bases/linux-zfs-branch
2010-06-29 11:01:39 -07:00
Brian Behlendorf
f281cb3d2d
Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module
2010-06-29 11:01:37 -07:00
Brian Behlendorf
bbb031c26e
Merge branch 'linux-kernel-device' into refs/top-bases/linux-zfs-branch
2010-06-29 11:01:31 -07:00
Brian Behlendorf
0576c0ce91
Merge commit 'refs/top-bases/linux-kernel-device' into linux-kernel-device
2010-06-29 11:01:29 -07:00
Brian Behlendorf
4f253e01e6
Merge branch 'linux-have-idmap' into refs/top-bases/linux-zfs-branch
2010-06-29 11:01:23 -07:00
Brian Behlendorf
3791414099
Merge commit 'refs/top-bases/linux-have-idmap' into linux-have-idmap
2010-06-29 11:01:20 -07:00
Brian Behlendorf
a5cdc5d6f0
Merge branch 'linux-ztest' into refs/top-bases/linux-zfs-branch
2010-06-29 11:01:14 -07:00
Brian Behlendorf
e6bcb5c246
Merge commit 'refs/top-bases/linux-ztest' into linux-ztest
2010-06-29 11:01:11 -07:00
Brian Behlendorf
62e6a163a3
Merge branch 'linux-unused' into refs/top-bases/linux-zfs-branch
2010-06-29 11:01:05 -07:00
Brian Behlendorf
cca74f6a00
Merge commit 'refs/top-bases/linux-unused' into linux-unused
2010-06-29 11:01:03 -07:00
Brian Behlendorf
09931b3714
Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch
2010-06-29 11:00:57 -07:00
Brian Behlendorf
bf3c33b6c0
Merge commit 'refs/top-bases/linux-libspl' into linux-libspl
2010-06-29 11:00:56 -07:00
Brian Behlendorf
65db2948eb
Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch
2010-06-29 11:00:49 -07:00
Brian Behlendorf
b91da0086f
Merge commit 'refs/top-bases/linux-zpios' into linux-zpios
2010-06-29 11:00:47 -07:00
Brian Behlendorf
a7dc958ebf
Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch
2010-06-29 11:00:41 -07:00
Brian Behlendorf
bc9ce64c43
Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk
2010-06-29 11:00:38 -07:00
Brian Behlendorf
dbfcad7734
Merge branch 'linux-symbol-collisions' into refs/top-bases/linux-zfs-branch
2010-06-29 11:00:32 -07:00
Brian Behlendorf
d3b5ed0980
Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions
2010-06-29 11:00:29 -07:00
Brian Behlendorf
b7c771a8be
Merge branch 'linux-kernel-mem' into refs/top-bases/linux-zfs-branch
2010-06-29 11:00:23 -07:00
Brian Behlendorf
c2e6290a45
Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem
2010-06-29 11:00:21 -07:00
Brian Behlendorf
0388569a58
Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch
2010-06-29 11:00:15 -07:00
Brian Behlendorf
67850fa14f
Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
2010-06-29 11:00:12 -07:00
Brian Behlendorf
2619d4ba4c
Merge branch 'linux-have-spl-debug' into refs/top-bases/linux-zfs-branch
2010-06-29 11:00:06 -07:00
Brian Behlendorf
120e89d397
Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug
2010-06-29 11:00:04 -07:00
Brian Behlendorf
b8229898ab
Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch
2010-06-29 10:59:58 -07:00
Brian Behlendorf
deed228127
Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent
2010-06-29 10:59:55 -07:00
Brian Behlendorf
0a2b049259
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-29 10:59:54 -07:00
Brian Behlendorf
ffeafc898e
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
...
Conflicts:
cmd/ztest/ztest.c
2010-06-29 10:55:38 -07:00
Brian Behlendorf
b873e71b0f
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2010-06-29 10:29:42 -07:00
Brian Behlendorf
9fd3ea941b
Merge commit 'refs/top-bases/gcc-branch' into gcc-branch
2010-06-29 10:25:31 -07:00
Brian Behlendorf
192b36dcfd
Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch
2010-06-29 10:25:31 -07:00
Brian Behlendorf
9cdd80e387
Revert traverse_impl() changes
...
These changes are now taken care of by the fix-stack-traverse_impl
topic branch which not only solves the uninit problem but also
moves these locals off the stack and on to the heap.
2010-06-29 10:24:14 -07:00
Brian Behlendorf
96bd9f434d
Merge branch 'fix-stack-traverse_impl' into refs/top-bases/fix-branch
2010-06-29 10:21:53 -07:00
Brian Behlendorf
c3681c9f29
Merge commit 'refs/top-bases/fix-branch' into fix-branch
2010-06-29 10:21:53 -07:00
Brian Behlendorf
607b455090
New TopGit dependency: fix-stack-traverse_impl
2010-06-29 10:21:50 -07:00
Brian Behlendorf
8e2de85a6d
Reduce stack usage of traverse_impl()
...
Stack use reduced from 560 bytes to 128 bytes.
2010-06-29 10:21:21 -07:00
Brian Behlendorf
d2585f5921
Merge branch 'fix-stack-vn_open' into refs/top-bases/fix-branch
2010-06-29 10:15:05 -07:00
Brian Behlendorf
0a03ec3bf5
Merge commit 'refs/top-bases/fix-branch' into fix-branch
2010-06-29 10:15:05 -07:00