Add zfs_sync_pass_* tunable parameters
authorCyril Plisko <cyril.plisko@mountall.com>
Tue, 4 Jun 2013 09:25:22 +0000 (12:25 +0300)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 2 Jul 2013 16:34:18 +0000 (09:34 -0700)
commit29dee3ee9ac68d8a75c0d518b1342f447cd2ddc0
tree98ae7fc264af2afe68cb8e730ed9914f2146216b
parent802e7b5feb0135483de119eac1da192404eb5bb7
Add zfs_sync_pass_* tunable parameters

Commit 55d85d5a8c45c4559a4a0e675c37b0c3afb19c2f (backport of
the upstream changes) replaced three hardcoded constants:

    #define SYNC_PASS_DEFERRED_FREE 2 /* defer frees after this pass */
    #define SYNC_PASS_DONT_COMPRESS 4 /* don't compress after this pass */
    #define SYNC_PASS_REWRITE       1 /* rewrite new bps after this pass */

with a tunable parameters:

    int zfs_sync_pass_deferred_free = 2; /* defer frees starting in this pass */
    int zfs_sync_pass_dont_compress = 5; /* don't compress starting in this pass */
    int zfs_sync_pass_rewrite = 2;       /* rewrite new bps starting in this pass */

This commit makes these tunables available as module parameters
in Linux.  They should only be used for performance analysis
because changing them can result in subtle and pathological
performance problems.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #1562
module/zfs/zio.c