Commit Graph

22481 Commits

Author SHA1 Message Date
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