Brian Behlendorf
e163b08ba3
Add fix-stack-dmu_objset_snapshot topic branch
...
Reduce stack usage by 276 bytes by moving the snaparg struct from the
stack to the heap. We have limited stack space we must not waste.
2010-06-16 14:39:06 -07:00
Brian Behlendorf
a2ba5b83f8
Merge branch 'fix-stack-noinline' into refs/top-bases/fix-branch
2010-06-16 14:35:14 -07:00
Brian Behlendorf
94a22f54e5
Merge commit 'refs/top-bases/fix-branch' into fix-branch
2010-06-16 14:35:14 -07:00
Brian Behlendorf
23d291df44
New TopGit dependency: fix-stack-noinline
2010-06-16 14:35:11 -07:00
Brian Behlendorf
bbdb8184ec
Add fix-stack-noinline topic branch
...
Certain function must never be automatically inlined by gcc because
they are stack heavy or called recursively. This patch flags all
such functions I have found as 'noinline' to prevent gcc from making
the optimization.
2010-06-16 14:34:41 -07:00
Brian Behlendorf
d297febad2
Remove fix-stack dependency from fix-branch
2010-06-16 14:30:40 -07:00
Brian Behlendorf
ede85e5c3c
Merge commit 'refs/top-bases/linux-user-util' into linux-user-util
2010-06-16 14:29:24 -07:00
Brian Behlendorf
48ca6d3590
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-16 14:27:31 -07:00
Brian Behlendorf
7f979b27f4
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2010-06-16 14:27:30 -07:00
Brian Behlendorf
30c03a0914
Merge branch 'fix-stack' into refs/top-bases/fix-branch
2010-06-16 14:27:29 -07:00
Brian Behlendorf
1388d58932
Merge commit 'refs/top-bases/fix-branch' into fix-branch
2010-06-16 14:27:29 -07:00
Brian Behlendorf
2115c30515
Revert fix-stack topic branch
...
This patch will be broken in to several independent stack reductions
and reapplied as new topic branches.
2010-06-16 14:23:31 -07:00
Brian Behlendorf
ab9a39971a
Merge commit 'refs/top-bases/linux-user-util' into linux-user-util
2010-06-16 13:54:56 -07:00
Brian Behlendorf
aacc00b961
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-16 13:53:08 -07:00
Brian Behlendorf
6a19e49908
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2010-06-16 13:53:07 -07:00
Brian Behlendorf
4c62777dcc
Merge commit 'refs/top-bases/fix-branch' into fix-branch
2010-06-16 13:49:56 -07:00
Brian Behlendorf
256505afb0
Merge branch 'fix-stack-dsl_deleg_get' into refs/top-bases/fix-branch
2010-06-16 13:49:55 -07:00
Brian Behlendorf
2709f5731b
New TopGit dependency: fix-stack-dsl_deleg_get
2010-06-16 13:49:53 -07:00
Brian Behlendorf
869764f64d
Add fix-stack-dsl_deleg_get topic branch
...
Reduce stack usage in dsl_deleg_get, gcc flagged it as consuming a
whopping 1040 bytes or potentially 1/4 of a 4K stack. This patch
moves all the large structures and buffer off the stack and on to
the heap. This includes 2 zap_cursor_t structs each 52 bytes in
size, 2 zap_attribute_t structs each 280 bytes in size, and 1
256 byte char array. The total saves on the stack is 880 bytes
after you account for the 5 new pointers added.
Also the source buffer length has been increased from MAXNAMELEN
to MAXNAMELEN+strlen(MOS_DIR_NAME)+1 as described by the comment in
dsl_dir_name(). A buffer overrun may have been possible with the
slightly smaller buffer.
2010-06-16 13:49:25 -07:00
Brian Behlendorf
7e01470495
Merge commit 'refs/top-bases/linux-user-util' into linux-user-util
2010-06-16 12:46:27 -07:00
Brian Behlendorf
4738ecfcdc
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-16 12:44:09 -07:00
Brian Behlendorf
1ccdbb250b
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2010-06-16 12:44:08 -07:00
Brian Behlendorf
912d828f0a
Merge commit 'refs/top-bases/fix-branch' into fix-branch
2010-06-16 12:40:40 -07:00
Brian Behlendorf
31cc6992c5
Merge branch 'fix-stack-dsl_dir_open_spa' into refs/top-bases/fix-branch
2010-06-16 12:40:39 -07:00
Brian Behlendorf
a2cbedd9e8
New TopGit dependency: fix-stack-dsl_dir_open_spa
2010-06-16 12:40:37 -07:00
Brian Behlendorf
0c524122bd
Add fix-stack-dsl_dir_open_spa topic branch
...
Reduce stack usage by 256 bytes by moving buf char array from
the stack to the heap.
2010-06-16 12:39:44 -07:00
Brian Behlendorf
b0d8f99a8f
Merge commit 'refs/top-bases/linux-user-util' into linux-user-util
2010-06-16 12:19:31 -07:00
Brian Behlendorf
9fd12ce4fd
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-16 12:11:21 -07:00
Brian Behlendorf
2b71569742
Merge branch 'gcc-branch' into refs/top-bases/zfs-branch
2010-06-16 12:11:20 -07:00
Brian Behlendorf
f00293115a
Merge commit 'refs/top-bases/gcc-branch' into gcc-branch
2010-06-16 12:11:19 -07:00
Brian Behlendorf
877a37d8bd
Merge branch 'gcc-uninit' into refs/top-bases/gcc-branch
2010-06-16 12:11:18 -07:00
Brian Behlendorf
8a001d8f59
Extra uninit vars flagged by gcc 4.1.2
...
Newer versions of the compiler are OK with this but for the sake of
older compilers explicitly initialize them.
2010-06-16 11:45:07 -07:00
Brian Behlendorf
70bc736b0c
Merge commit 'refs/top-bases/linux-user-util' into linux-user-util
2010-06-14 17:00:51 -07:00
Brian Behlendorf
b41c7ff877
Merge commit 'refs/top-bases/zfs-branch' into zfs-branch
2010-06-14 16:45:47 -07:00
Brian Behlendorf
7f181ac166
Merge branch 'fix-branch' into refs/top-bases/zfs-branch
2010-06-14 16:45:46 -07:00
Brian Behlendorf
2f30cc0188
Merge branch 'fix-stack-lzjb' into refs/top-bases/fix-branch
2010-06-14 16:45:33 -07:00
Brian Behlendorf
1121733c6a
Merge commit 'refs/top-bases/fix-branch' into fix-branch
2010-06-14 16:45:33 -07:00
Brian Behlendorf
4327d5dce3
New TopGit dependency: fix-stack-lzjb
2010-06-14 16:45:31 -07:00
Brian Behlendorf
b8cc785fb6
Add fix-stack-lzjb topic branch
...
Reduce kernel stack usage by lzjb_compress() by moving uint16 array
off the stack and on to the heap. The exact performance implications
of this I have not measured but we absolutely need to keep stack
usage to a minimum. If/when this becomes and issue we optimize.
2010-06-14 16:45:01 -07:00
Brian Behlendorf
2392c05ea7
Merge commit 'refs/top-bases/fix-branch' into fix-branch
2010-06-14 16:43:33 -07:00
Brian Behlendorf
51322821f3
Merge branch 'fix-kstat-xuio' into refs/top-bases/fix-branch
2010-06-14 16:43:32 -07:00
Brian Behlendorf
f70976285e
New TopGit dependency: fix-kstat-xuio
2010-06-14 16:43:30 -07:00
Brian Behlendorf
f61a7ce9e1
Add fix-kstat-xuio topic branch
...
Move xiou stat structures from a header to the dmu.c source as is
done with all the other kstat interfaces. This information is local
to dmu.c registered the xuio kstat and should stay that way.
2010-06-14 16:43:01 -07:00
Brian Behlendorf
963518b20f
Merge branch 'fix-metaslab' into refs/top-bases/fix-branch
2010-06-14 16:40:45 -07:00
Brian Behlendorf
105afa78b4
Merge commit 'refs/top-bases/fix-branch' into fix-branch
2010-06-14 16:40:45 -07:00
Brian Behlendorf
9519cc9a54
New TopGit dependency: fix-metaslab
2010-06-14 16:40:43 -07:00
Brian Behlendorf
f3a61f709d
Add fix-metaslab topic branch
...
If your only going to allow one allocator to be used and it is defined
at compile time there is no point including the others in the build.
This patch could/should be refined for Linux to make the metaslab
configurable at run time. That might be a bit tricky however since
you would need to quiese all IO. Short of that making it configurable
as a module load option would be a reasonable compromise.
2010-06-14 16:40:26 -07:00
Brian Behlendorf
f3f44cbd31
Merge branch 'fix-current' into refs/top-bases/fix-branch
2010-06-14 16:39:27 -07:00
Brian Behlendorf
5b9ebcb897
Merge commit 'refs/top-bases/fix-branch' into fix-branch
2010-06-14 16:39:27 -07:00
Brian Behlendorf
7a73e51832
New TopGit dependency: fix-current
2010-06-14 16:39:25 -07:00