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
c3681c9f29
Merge commit 'refs/top-bases/fix-branch' into fix-branch
2010-06-29 10:21:53 -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
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
Brian Behlendorf
53324fbd1f
New TopGit dependency: fix-stack-vn_open
2010-06-29 10:15:02 -07:00
Brian Behlendorf
edbb93c11d
Reduce stack usage by vn_open()
...
We should not put a 4k maxpathlen buffer on the stack, instead
locate it to the heap. Even in user space we run ztest with 8K
2010-06-29 10:14:37 -07:00
Brian Behlendorf
78cb5e6f60
Merge commit 'refs/top-bases/fix-branch' into fix-branch
2010-06-29 10:12:04 -07:00
Brian Behlendorf
51a936233f
Merge branch 'fix-stack-dsl_dataset_destroy' into refs/top-bases/fix-branch
2010-06-29 10:12:03 -07:00
Brian Behlendorf
aa90238713
Merge branch 'fix-pthreads' into refs/top-bases/fix-branch
2010-06-29 10:12:03 -07:00
Brian Behlendorf
eabeea3b7c
New TopGit dependency: fix-stack-dsl_dataset_destroy
2010-06-29 10:12:00 -07:00
Brian Behlendorf
7334572416
Reduce stack usage by dsl_dataset_destroy()
...
Move dsl_dataset_t local variable from the stack to the heap.
This reduces the stack usage of this function from 2048 bytes
to 176 bytes for x84_64 arches.
2010-06-29 10:11:32 -07:00
Brian Behlendorf
9af7aa53eb
Set stack frame limit
...
For all module/library functions ensure so stack frame exceeds 1024
bytes. Ideally this should be set lower to say 512 bytes but there
are still numerous functions which exceed even this limit. For now
this is set to 1024 to ensure we catch the worst offenders.
Additionally, set the limit for ztest to 1024 bytes since the idea
here is to catch stack issues in user space before we find them by
overrunning a kernel stack. This should also be reduced to 512
bytes as soon as all the trouble makes are fixed.
Finally, add -fstack-check to gcc build options when --enable-debug
is specified at configure time. This ensures that each page on the
stack will be touched and we will generate a segfault on stack
overflow.
Over time we can gradually fix the following functions:
536 zfs:dsl_deadlist_regenerate
536 zfs:dsl_load_sets
536 zfs:zil_parse
544 zfs:zfs_ioc_recv
552 zfs:dsl_deadlist_insert_bpobj
552 zfs:vdev_dtl_sync
584 zfs:copy_create_perms
608 zfs:ddt_class_contains
608 zfs:ddt_prefetch
608 zfs:__dprintf
616 zfs:ddt_lookup
648 zfs:dsl_scan_ddt
696 zfs:dsl_deadlist_merge
736 zfs:ddt_zap_walk
744 zfs:dsl_prop_get_all_impl
872 zfs:dnode_evict_dbufs
2010-06-29 10:08:48 -07:00