Commit Graph

20337 Commits

Author SHA1 Message Date
Brian Behlendorf eb2785121c Merge branch 'linux-kernel-device' into refs/top-bases/linux-zfs-branch 2010-08-02 13:54:30 -07:00
Brian Behlendorf 870b549f34 Merge commit 'refs/top-bases/linux-kernel-device' into linux-kernel-device 2010-08-02 13:54:27 -07:00
Brian Behlendorf 11f78903ce Merge branch 'linux-have-idmap' into refs/top-bases/linux-zfs-branch 2010-08-02 13:54:22 -07:00
Brian Behlendorf ec2908d41d Merge commit 'refs/top-bases/linux-have-idmap' into linux-have-idmap 2010-08-02 13:54:20 -07:00
Brian Behlendorf 83210002b5 Merge branch 'linux-ztest' into refs/top-bases/linux-zfs-branch 2010-08-02 13:54:14 -07:00
Brian Behlendorf 640f5d9bdd Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-08-02 13:54:12 -07:00
Brian Behlendorf c09a76482a Merge branch 'linux-unused' into refs/top-bases/linux-zfs-branch 2010-08-02 13:54:06 -07:00
Brian Behlendorf 322761f3bb Merge commit 'refs/top-bases/linux-unused' into linux-unused 2010-08-02 13:54:03 -07:00
Brian Behlendorf 7d01d9e14a Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2010-08-02 13:53:57 -07:00
Brian Behlendorf 93011db8a0 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2010-08-02 13:53:55 -07:00
Brian Behlendorf 28797e3c24 Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch 2010-08-02 13:53:49 -07:00
Brian Behlendorf ae9b59dc57 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2010-08-02 13:53:47 -07:00
Brian Behlendorf 709f29d4b4 Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2010-08-02 13:53:41 -07:00
Brian Behlendorf e34cd4b934 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2010-08-02 13:53:39 -07:00
Brian Behlendorf cec941cc50 Merge branch 'linux-symbol-collisions' into refs/top-bases/linux-zfs-branch 2010-08-02 13:53:33 -07:00
Brian Behlendorf 41adcd0edc Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2010-08-02 13:53:31 -07:00
Brian Behlendorf a1a351a609 Merge branch 'linux-kernel-mem' into refs/top-bases/linux-zfs-branch 2010-08-02 13:53:25 -07:00
Brian Behlendorf 68cfa060f7 Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2010-08-02 13:53:23 -07:00
Brian Behlendorf 5fd80ff7ef Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2010-08-02 13:53:17 -07:00
Brian Behlendorf b4c4755bb0 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2010-08-02 13:53:15 -07:00
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 0002f6f7e5 Merge commit 'refs/top-bases/fix-branch' into fix-branch 2010-08-02 13:49:05 -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 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