mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 11:19:32 +03:00
Make metaslab_aliquot a module parameter.
This seems generally useful. metaslab_aliquot is the ZFS allocation granularity, which is roughly equivalent to what is called the stripe size in traditional RAID arrays. It seems relevant to performance tuning. Signed-off-by: Etienne Dechamps <etienne@edechamps.fr> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
parent
e8fe6684a5
commit
99b14de421
@ -134,6 +134,20 @@ Max write bytes per interval
|
|||||||
Default value: \fB8,388,608\fR.
|
Default value: \fB8,388,608\fR.
|
||||||
.RE
|
.RE
|
||||||
|
|
||||||
|
.sp
|
||||||
|
.ne 2
|
||||||
|
.na
|
||||||
|
\fBmetaslab_aliquot\fR (ulong)
|
||||||
|
.ad
|
||||||
|
.RS 12n
|
||||||
|
Metaslab granularity, in bytes. This is roughly similar to what would be
|
||||||
|
referred to as the "stripe size" in traditional RAID arrays. In normal
|
||||||
|
operation, ZFS will try to write this amount of data to a top-level vdev
|
||||||
|
before moving on to the next one.
|
||||||
|
.sp
|
||||||
|
Default value: \fB524,288\fR.
|
||||||
|
.RE
|
||||||
|
|
||||||
.sp
|
.sp
|
||||||
.ne 2
|
.ne 2
|
||||||
.na
|
.na
|
||||||
|
@ -59,7 +59,7 @@
|
|||||||
* operation, we will try to write this amount of data to a top-level vdev
|
* operation, we will try to write this amount of data to a top-level vdev
|
||||||
* before moving on to the next one.
|
* before moving on to the next one.
|
||||||
*/
|
*/
|
||||||
uint64_t metaslab_aliquot = 512ULL << 10;
|
unsigned long metaslab_aliquot = 512 << 10;
|
||||||
|
|
||||||
uint64_t metaslab_gang_bang = SPA_MAXBLOCKSIZE + 1; /* force gang blocks */
|
uint64_t metaslab_gang_bang = SPA_MAXBLOCKSIZE + 1; /* force gang blocks */
|
||||||
|
|
||||||
@ -2707,6 +2707,7 @@ metaslab_check_free(spa_t *spa, const blkptr_t *bp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if defined(_KERNEL) && defined(HAVE_SPL)
|
#if defined(_KERNEL) && defined(HAVE_SPL)
|
||||||
|
module_param(metaslab_aliquot, ulong, 0644);
|
||||||
module_param(metaslab_debug_load, int, 0644);
|
module_param(metaslab_debug_load, int, 0644);
|
||||||
module_param(metaslab_debug_unload, int, 0644);
|
module_param(metaslab_debug_unload, int, 0644);
|
||||||
module_param(metaslab_preload_enabled, int, 0644);
|
module_param(metaslab_preload_enabled, int, 0644);
|
||||||
@ -2717,6 +2718,8 @@ module_param(metaslab_fragmentation_factor_enabled, int, 0644);
|
|||||||
module_param(metaslab_lba_weighting_enabled, int, 0644);
|
module_param(metaslab_lba_weighting_enabled, int, 0644);
|
||||||
module_param(metaslab_bias_enabled, int, 0644);
|
module_param(metaslab_bias_enabled, int, 0644);
|
||||||
|
|
||||||
|
MODULE_PARM_DESC(metaslab_aliquot,
|
||||||
|
"allocation granularity (a.k.a. stripe size)");
|
||||||
MODULE_PARM_DESC(metaslab_debug_load,
|
MODULE_PARM_DESC(metaslab_debug_load,
|
||||||
"load all metaslabs when pool is first opened");
|
"load all metaslabs when pool is first opened");
|
||||||
MODULE_PARM_DESC(metaslab_debug_unload,
|
MODULE_PARM_DESC(metaslab_debug_unload,
|
||||||
|
Loading…
Reference in New Issue
Block a user