From 99b14de42104021f6b7d88118db010d8246bc0c0 Mon Sep 17 00:00:00 2001 From: Etienne Dechamps Date: Sun, 10 May 2015 16:40:20 +0100 Subject: 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 Signed-off-by: Brian Behlendorf --- module/zfs/metaslab.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'module') diff --git a/module/zfs/metaslab.c b/module/zfs/metaslab.c index 15859908f..3b556b6db 100644 --- a/module/zfs/metaslab.c +++ b/module/zfs/metaslab.c @@ -59,7 +59,7 @@ * operation, we will try to write this amount of data to a top-level vdev * 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 */ @@ -2707,6 +2707,7 @@ metaslab_check_free(spa_t *spa, const blkptr_t *bp) } #if defined(_KERNEL) && defined(HAVE_SPL) +module_param(metaslab_aliquot, ulong, 0644); module_param(metaslab_debug_load, int, 0644); module_param(metaslab_debug_unload, 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_bias_enabled, int, 0644); +MODULE_PARM_DESC(metaslab_aliquot, + "allocation granularity (a.k.a. stripe size)"); MODULE_PARM_DESC(metaslab_debug_load, "load all metaslabs when pool is first opened"); MODULE_PARM_DESC(metaslab_debug_unload, -- cgit v1.2.3