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
121b1ceddc
Merge commit 'refs/top-bases/linux-configure-branch' into linux-configure-branch
2010-08-02 13:24:23 -07:00
Brian Behlendorf
b89f8ad41b
Merge commit 'refs/top-bases/linux-zfs-branch' into linux-zfs-branch
2010-08-02 13:24:21 -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
Brian Behlendorf
1f3c757320
Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk
2010-08-02 13:22:13 -07:00
Brian Behlendorf
c736f16e18
Merge branch 'linux-have-spl-debug' into refs/top-bases/linux-zfs-branch
2010-08-02 13:22:06 -07:00
Brian Behlendorf
f983481a3f
Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug
2010-08-02 13:22:04 -07:00
Brian Behlendorf
37e5e668d6
Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch
2010-08-02 13:21:57 -07:00
Brian Behlendorf
cf10cb3419
Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent
2010-08-02 13:21:54 -07:00
Brian Behlendorf
0fee5e7ac8
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-08-02 13:21:53 -07:00
Brian Behlendorf
7b8a233029
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2010-08-02 13:21:52 -07:00
Brian Behlendorf
bb064e0220
Merge branch 'fix-taskq' into refs/top-bases/fix-branch
2010-08-02 13:21:51 -07:00
Brian Behlendorf
c90ad869ca
Merge commit 'refs/top-bases/fix-branch' into fix-branch
2010-08-02 13:21:51 -07:00
Brian Behlendorf
5545adeadf
Use sparse files for loopback+file configurations
...
Using sparse files for the test configurations had atleast three
significant advantages.
1) Actually test sparse files to ensure they work.
2) Drastically reduce required disk space for the regression test
suite. This turns out to be fairly important when running the
test suite in a virtualized environment.
3) Significantly speed of the test suite. Run time of zconfig.sh
dropped from 2m:56s to 1m:00s on my test system, zpios-sanity.sh
nows runs in only 0m:26s.
2010-08-02 13:16:41 -07:00
Brian Behlendorf
858985a46e
Update zconfig.sh
...
This change updates zconfig.sh to reference /dev/zvol/ instead
of simply /dev/. It also extends the texts to verify correct
minor device creation for import/export and module load/unload.
2010-08-02 13:15:00 -07:00