Commit Graph

20499 Commits

Author SHA1 Message Date
Brian Behlendorf d4f9acb30f Merge commit 'refs/top-bases/linux-events' into linux-events 2010-08-02 14:19:09 -07:00
Brian Behlendorf 762b71ffdc Merge branch 'linux-kernel-module' into refs/top-bases/linux-zfs-branch 2010-08-02 14:19:03 -07:00
Brian Behlendorf ea05fed9e0 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2010-08-02 14:19:01 -07:00
Brian Behlendorf 3a14c30a9f Merge branch 'linux-kernel-device' into refs/top-bases/linux-zfs-branch 2010-08-02 14:18:54 -07:00
Brian Behlendorf 7b6af1abdc Merge commit 'refs/top-bases/linux-kernel-device' into linux-kernel-device 2010-08-02 14:18:52 -07:00
Brian Behlendorf 4767fb66fa Merge branch 'linux-have-idmap' into refs/top-bases/linux-zfs-branch 2010-08-02 14:18:45 -07:00
Brian Behlendorf ba496c4f9a Merge commit 'refs/top-bases/linux-have-idmap' into linux-have-idmap 2010-08-02 14:18:43 -07:00
Brian Behlendorf 83baa8417c Merge branch 'linux-ztest' into refs/top-bases/linux-zfs-branch 2010-08-02 14:18:37 -07:00
Brian Behlendorf edfb44a213 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-08-02 14:18:34 -07:00
Brian Behlendorf 3053450c83 Merge branch 'linux-unused' into refs/top-bases/linux-zfs-branch 2010-08-02 14:18:28 -07:00
Brian Behlendorf 3940a8590a Merge commit 'refs/top-bases/linux-unused' into linux-unused 2010-08-02 14:18:26 -07:00
Brian Behlendorf d8c69fa656 Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2010-08-02 14:18:20 -07:00
Brian Behlendorf 1cfc7c351c Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2010-08-02 14:18:18 -07:00
Brian Behlendorf b8ff045248 Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch 2010-08-02 14:18:12 -07:00
Brian Behlendorf 2722aaa988 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2010-08-02 14:18:10 -07:00
Brian Behlendorf 3c31101e61 Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2010-08-02 14:18:04 -07:00
Brian Behlendorf 18b4ce52b7 Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2010-08-02 14:18:01 -07:00
Brian Behlendorf 8e4eefe499 Merge branch 'linux-symbol-collisions' into refs/top-bases/linux-zfs-branch 2010-08-02 14:17:55 -07:00
Brian Behlendorf af8f44b83d Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2010-08-02 14:17:53 -07:00
Brian Behlendorf 0af17a9105 Merge branch 'linux-kernel-mem' into refs/top-bases/linux-zfs-branch 2010-08-02 14:17:47 -07:00
Brian Behlendorf 9eb75e62cf Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2010-08-02 14:17:45 -07:00
Brian Behlendorf d11fed28e3 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2010-08-02 14:17:38 -07:00
Brian Behlendorf bd4701a061 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2010-08-02 14:17:36 -07:00
Brian Behlendorf f83b6d1506 Merge branch 'linux-have-spl-debug' into refs/top-bases/linux-zfs-branch 2010-08-02 14:17:29 -07:00
Brian Behlendorf 8785edb158 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2010-08-02 14:17:27 -07:00
Brian Behlendorf 472cba82e2 Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-08-02 14:17:21 -07:00
Brian Behlendorf ec938f6a26 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2010-08-02 14:17:18 -07:00
Brian Behlendorf 1afa38755a Merge commit 'refs/top-bases/zfs-branch' into zfs-branch 2010-08-02 14:17:17 -07:00
Brian Behlendorf 3de149b962 Merge branch 'fix-branch' into refs/top-bases/zfs-branch 2010-08-02 14:17:16 -07:00
Brian Behlendorf 74fdd957d1 Merge commit 'refs/top-bases/fix-branch' into fix-branch 2010-08-02 14:12:56 -07:00
Brian Behlendorf 529d515858 Merge branch 'fix-stack-dbuf_hold_impl' into refs/top-bases/fix-branch 2010-08-02 14:12:55 -07:00
Brian Behlendorf f271befe26 New TopGit dependency: fix-stack-dbuf_hold_impl 2010-08-02 14:12:52 -07:00
Ned Bass 4d3fc57112 Reduce stack usage for recursive dbuf_hold_impl()
This commit preserves the recursive function dbuf_hold_impl() 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 technique was based on commit
34229a2f2a which reduced stack usage of
traverse_visitbp().

dbuf_hold_impl() is mutually recursive with dbuf_findbp(),
but the latter function is also called from other functions.
Therefore dbuf_findbp() must contain logic to determine how to call
dbuf_hold_impl().  To this end, dbuf_hold_impl() now takes a
struct dbuf_hold_impl_data pointer as an argument.  If that argument
is NULL it calls dbuf_hold_impl() as before, otherwise it calls
__debuf_hold_impl() with a single dbuf_hold_impl_data pointer argument.
As the name implies, dbuf_hold_impl_data stores the arguments and local
variables for dbuf_hold_impl().

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-08-02 14:12:31 -07:00
Brian Behlendorf c7786edbf0 Initial commit for fix-stack-dbuf_hold_impl topic branch 2010-08-02 14:10:28 -07:00
Brian Behlendorf db488a647c Merge commit 'refs/top-bases/fix-branch' into fix-branch 2010-08-02 14:09:40 -07:00
Brian Behlendorf 2a9adcbffb Merge branch 'fix-stack-dsl_scan_visitbp' into refs/top-bases/fix-branch 2010-08-02 14:09:39 -07:00
Brian Behlendorf 0c6f448b57 New TopGit dependency: fix-stack-dsl_scan_visitbp 2010-08-02 14:09:37 -07:00
Ned Bass 410d8c4e15 Reduce dsl_scan_visitbp stack usage by moving blkptr_t to heap
Github issue 22 reported a stack overrun when the zfs module was
loaded, possibly related to the presence of existing zpools created
under zfs-fuse.  The stack trace showed 9 levels of recursion between
dsl_scan_visitbp() and dsl_scan_recurse(). To reduce stack overhead in
that code path, this commit moves the 128 byte blkptr_t data strucutre
in dsl_scan_visitbp() to the heap.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-08-02 14:09:15 -07:00
Brian Behlendorf 911d2e0df4 Initial commit for fix-stack-dsl_scan_visitbp topic branch 2010-08-02 14:08:36 -07:00
Brian Behlendorf 64df38a167 Merge commit 'refs/top-bases/fix-branch' into fix-branch 2010-08-02 14:06:33 -07:00
Brian Behlendorf 425b8742a5 Merge branch 'fix-stack-zio_done' into refs/top-bases/fix-branch 2010-08-02 14:06:32 -07:00
Brian Behlendorf da40cc1454 New TopGit dependency: fix-stack-zio_done 2010-08-02 14:06:29 -07:00
Ned Bass d5658668e0 Reduce stack usage of zio_done
Eliminated local variables pointing to members of the zio struct.
Just refer to the struct members directly.  This saved about 32 bytes per
call, but this function can be called recurisvely up to 19 levels deep,
so we potentially save up to 608 bytes.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-08-02 14:05:49 -07:00
Brian Behlendorf df8e5bf1ca Initial commit for fix-stack-zio_done topic branch 2010-08-02 13:58:47 -07:00
Brian Behlendorf f3d8ee7357 Merge branch 'fix-stack-vdev_cache_read' into refs/top-bases/fix-branch 2010-08-02 13:57:39 -07:00
Brian Behlendorf eeea8d2f06 Merge commit 'refs/top-bases/fix-branch' into fix-branch 2010-08-02 13:57:39 -07:00
Brian Behlendorf 530190960a New TopGit dependency: fix-stack-vdev_cache_read 2010-08-02 13:57:36 -07:00
Brian Behlendorf 48669030fe Reduce stack in vdev_cache_read
Moving the vdev_cache_entry_t struct ve_search from the stack to
the heap saves ~100 bytes.
2010-08-02 13:57:15 -07:00
Brian Behlendorf afe4a83c54 Merge branch 'linux-have-mlslabel' into refs/top-bases/linux-zfs-branch 2010-08-02 13:55:24 -07:00
Brian Behlendorf 6786aff344 Merge commit 'refs/top-bases/linux-have-mlslabel' into linux-have-mlslabel 2010-08-02 13:55:22 -07:00