Commit Graph

20467 Commits

Author SHA1 Message Date
Brian Behlendorf 341b493185 Merge branch 'linux-have-spl-debug' into refs/top-bases/linux-zfs-branch 2010-08-02 13:53:08 -07:00
Brian Behlendorf 14422e4259 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2010-08-02 13:53:06 -07:00
Brian Behlendorf ec04ed0fbb Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-08-02 13:53:00 -07:00
Brian Behlendorf c0c23fb02f Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2010-08-02 13:52:58 -07:00
Brian Behlendorf fd164fdb40 Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-08-02 13:52:57 -07:00
Brian Behlendorf 5d145c70f1 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2010-08-02 13:52:56 -07:00
Brian Behlendorf 215b84f12f Merge branch 'fix-stack-inline' into refs/top-bases/fix-branch 2010-08-02 13:49:05 -07:00
Brian Behlendorf 0002f6f7e5 Merge commit 'refs/top-bases/fix-branch' into fix-branch 2010-08-02 13:49:05 -07:00
Brian Behlendorf 8d443f35c4 Merge branch 'fix-stack-ztest' into refs/top-bases/fix-branch 2010-08-02 13:49:04 -07:00
Brian Behlendorf 084b700b92 New TopGit dependency: fix-stack-inline 2010-08-02 13:49:02 -07:00
Ned Bass 411dd65af1 Inline zio_execute() to reduce stack use
Deep recursive call chains are contributing to segfaults in ztest due to
heavy stack use.  Inlining zio_execute() helps reduce the stack depth of
the zio_notify_parent() -> zio_execute() -> zio_wait() recursive cycle.
I am no longer seeing ztest segfaults in this code path with this change.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-08-02 13:47:49 -07:00
Ned Bass 526d004cf5 Inline dbuf_findbp() to reduce stack use
Deep recursive call chains are contributing to segfaults in ztest due
to heavy stack use.  Inlining dbuf_findbp() helps reduce the stack depth
of the dbuf_findbp() -> dbuf_hold_impl() cycle.  However, segfaults are
still occurring in this code path, so further reductions are still needed.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-08-02 13:47:21 -07:00
Ned Bass dd72f3d647 Inline zio_notify_parent() to reduce stack use
Deep recursive call chains are contributing to segfaults in ztest due
to heavy stack use.  Inlining zio_notify_parent() helps reduce the
stack depth of the zio_notify_parent() -> zio_execute() -> zio_done()
recursive cycle.  I am no longer seeing ztest segfaults in this code
path with this change combined with the zio_done() stack reduction in
the previous commit.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-08-02 13:46:48 -07:00
Brian Behlendorf ca5262f030 Reduce stack by inlining spa_impl_load
The spa_load function may call itself recursively through
the spa_load_impl function.  This call path of spa_load->
spa_load_impl->spa_load->spa_load_impl takes 640 bytes of
stack.  By forcing spa_load_impl to be inlined as part of
spa_load the can be reduced to 448 bytes, for a savings of
192 bytes,
2010-08-02 13:45:28 -07:00
Brian Behlendorf a8a452d74b Initial commit for fix-stack-inline topic branch 2010-08-02 13:44:56 -07:00
Ned Bass bb20b03060 Move ztest_od_t structures to the heap
A number of ztest functions create one or more 312B ztest_od_t data
structures.  To conserve stack usage, this commit moves all of these data
structures to the heap.  However, I am still seeing ztest segfaults due
to heavy stack usage of the dbuf_findbp() -> dbuf_hold_impl() recursion.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-08-02 13:42:25 -07:00
Ned Bass 421d95b3ea Remove declarations in VERIFY3_IMPL to save stack
This has a minor impact on stack usage of individual functions, but the
VERIFY macros are used so frequently that their overhead may add up.
This macro declared two new local variables to cast its argument types.
Doing the typecast inline eliminates the need for these variables.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-08-02 13:34:48 -07:00
Brian Behlendorf d85703c480 Merge branch 'linux-have-mlslabel' into refs/top-bases/linux-zfs-branch 2010-08-02 13:24:19 -07:00
Brian Behlendorf fd1a5226a9 Merge commit 'refs/top-bases/linux-have-mlslabel' into linux-have-mlslabel 2010-08-02 13:24:17 -07:00
Brian Behlendorf 5a75578b99 Merge branch 'linux-spa-thread' into refs/top-bases/linux-zfs-branch 2010-08-02 13:24:12 -07:00
Brian Behlendorf ba8f3085ca Merge commit 'refs/top-bases/linux-spa-thread' into linux-spa-thread 2010-08-02 13:24:10 -07:00
Brian Behlendorf 84db3581c3 Merge branch 'linux-topology' into refs/top-bases/linux-zfs-branch 2010-08-02 13:24:04 -07:00
Brian Behlendorf 2a15280353 Merge commit 'refs/top-bases/linux-topology' into linux-topology 2010-08-02 13:24:02 -07:00
Brian Behlendorf 83058943de Merge branch 'linux-sha2' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:57 -07:00
Brian Behlendorf dca5a535cd Merge commit 'refs/top-bases/linux-sha2' into linux-sha2 2010-08-02 13:23:55 -07:00
Brian Behlendorf 82dc97f462 Merge branch 'linux-user-util' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:49 -07:00
Brian Behlendorf 189685f2bb Merge commit 'refs/top-bases/linux-user-util' into linux-user-util 2010-08-02 13:23:47 -07:00
Brian Behlendorf ef1ea46bd4 Merge branch 'linux-events' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:42 -07:00
Brian Behlendorf 52b1e9edad Merge commit 'refs/top-bases/linux-events' into linux-events 2010-08-02 13:23:40 -07:00
Brian Behlendorf fbae8d0a92 Merge branch 'linux-kernel-module' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:34 -07:00
Brian Behlendorf 8a2017515b Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2010-08-02 13:23:32 -07:00
Brian Behlendorf ee89d487c9 Merge branch 'linux-kernel-device' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:26 -07:00
Brian Behlendorf 02648544c7 Merge commit 'refs/top-bases/linux-kernel-device' into linux-kernel-device 2010-08-02 13:23:24 -07:00
Brian Behlendorf 19cbaae01c Merge branch 'linux-have-idmap' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:19 -07:00
Brian Behlendorf ae2d3042ab Merge commit 'refs/top-bases/linux-have-idmap' into linux-have-idmap 2010-08-02 13:23:17 -07:00
Brian Behlendorf e3f24c0281 Merge branch 'linux-ztest' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:12 -07:00
Brian Behlendorf a1fd05c6a5 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-08-02 13:23:09 -07:00
Brian Behlendorf 999337606c Merge branch 'linux-unused' into refs/top-bases/linux-zfs-branch 2010-08-02 13:23:04 -07:00
Brian Behlendorf 0de1c4f4ce Merge commit 'refs/top-bases/linux-unused' into linux-unused 2010-08-02 13:23:02 -07:00
Brian Behlendorf caa1caa4a0 Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2010-08-02 13:22:56 -07:00
Brian Behlendorf 494a650cbb Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2010-08-02 13:22:55 -07:00
Brian Behlendorf 939778e799 Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch 2010-08-02 13:22:49 -07:00
Brian Behlendorf c53e5d229c Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2010-08-02 13:22:47 -07:00
Brian Behlendorf 24743e1ee8 Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2010-08-02 13:22:41 -07:00
Brian Behlendorf 590bd1dd2f Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2010-08-02 13:22:39 -07:00
Brian Behlendorf 0578f16042 Merge branch 'linux-symbol-collisions' into refs/top-bases/linux-zfs-branch 2010-08-02 13:22:33 -07:00
Brian Behlendorf 4909386ed9 Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2010-08-02 13:22:31 -07:00
Brian Behlendorf 5b17c2bcee Merge branch 'linux-kernel-mem' into refs/top-bases/linux-zfs-branch 2010-08-02 13:22:24 -07:00
Brian Behlendorf 73759365d7 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2010-08-02 13:22:22 -07:00
Brian Behlendorf db72cd9ba6 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2010-08-02 13:22:15 -07:00