mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-25 02:49:32 +03:00
Update FreeBSD tunables
Remove some obsolete legacy compat, rename some misnamed, and add some missing tunables for FreeBSD. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes #10203
This commit is contained in:
parent
af99094dee
commit
a7929f3137
@ -54,6 +54,7 @@ enum scope_prefix_types {
|
|||||||
zfs_dbuf,
|
zfs_dbuf,
|
||||||
zfs_dbuf_cache,
|
zfs_dbuf_cache,
|
||||||
zfs_deadman,
|
zfs_deadman,
|
||||||
|
zfs_dedup,
|
||||||
zfs_l2arc,
|
zfs_l2arc,
|
||||||
zfs_livelist,
|
zfs_livelist,
|
||||||
zfs_livelist_condense,
|
zfs_livelist_condense,
|
||||||
@ -67,13 +68,13 @@ enum scope_prefix_types {
|
|||||||
zfs_send,
|
zfs_send,
|
||||||
zfs_spa,
|
zfs_spa,
|
||||||
zfs_trim,
|
zfs_trim,
|
||||||
|
zfs_txg,
|
||||||
zfs_vdev,
|
zfs_vdev,
|
||||||
zfs_vdev_cache,
|
zfs_vdev_cache,
|
||||||
zfs_vdev_mirror,
|
zfs_vdev_mirror,
|
||||||
zfs_zevent,
|
zfs_zevent,
|
||||||
zfs_zio,
|
zfs_zio,
|
||||||
zfs_zil,
|
zfs_zil
|
||||||
spa
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -60,6 +60,46 @@ uint_t zfs_arc_free_target = 0;
|
|||||||
int64_t last_free_memory;
|
int64_t last_free_memory;
|
||||||
free_memory_reason_t last_free_reason;
|
free_memory_reason_t last_free_reason;
|
||||||
|
|
||||||
|
static void
|
||||||
|
arc_free_target_init(void *unused __unused)
|
||||||
|
{
|
||||||
|
zfs_arc_free_target = vm_cnt.v_free_target;
|
||||||
|
}
|
||||||
|
SYSINIT(arc_free_target_init, SI_SUB_KTHREAD_PAGE, SI_ORDER_ANY,
|
||||||
|
arc_free_target_init, NULL);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We don't have a tunable for arc_free_target due to the dependency on
|
||||||
|
* pagedaemon initialisation.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
sysctl_vfs_zfs_arc_free_target(SYSCTL_HANDLER_ARGS)
|
||||||
|
{
|
||||||
|
uint_t val;
|
||||||
|
int err;
|
||||||
|
|
||||||
|
val = zfs_arc_free_target;
|
||||||
|
err = sysctl_handle_int(oidp, &val, 0, req);
|
||||||
|
if (err != 0 || req->newptr == NULL)
|
||||||
|
return (err);
|
||||||
|
|
||||||
|
if (val < minfree)
|
||||||
|
return (EINVAL);
|
||||||
|
if (val > vm_cnt.v_page_count)
|
||||||
|
return (EINVAL);
|
||||||
|
|
||||||
|
zfs_arc_free_target = val;
|
||||||
|
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
SYSCTL_DECL(_vfs_zfs);
|
||||||
|
/* BEGIN CSTYLED */
|
||||||
|
SYSCTL_PROC(_vfs_zfs, OID_AUTO, arc_free_target,
|
||||||
|
CTLTYPE_UINT | CTLFLAG_MPSAFE | CTLFLAG_RW, 0, sizeof (uint_t),
|
||||||
|
sysctl_vfs_zfs_arc_free_target, "IU",
|
||||||
|
"Desired number of free pages below which ARC triggers reclaim");
|
||||||
|
/* END CSTYLED */
|
||||||
|
|
||||||
int64_t
|
int64_t
|
||||||
arc_available_memory(void)
|
arc_available_memory(void)
|
||||||
{
|
{
|
||||||
@ -67,7 +107,6 @@ arc_available_memory(void)
|
|||||||
int64_t n __unused;
|
int64_t n __unused;
|
||||||
free_memory_reason_t r = FMR_UNKNOWN;
|
free_memory_reason_t r = FMR_UNKNOWN;
|
||||||
|
|
||||||
#ifdef _KERNEL
|
|
||||||
/*
|
/*
|
||||||
* Cooperate with pagedaemon when it's time for it to scan
|
* Cooperate with pagedaemon when it's time for it to scan
|
||||||
* and reclaim some pages.
|
* and reclaim some pages.
|
||||||
@ -115,12 +154,6 @@ arc_available_memory(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* _KERNEL */
|
|
||||||
/* Every 100 calls, free a small amount */
|
|
||||||
if (spa_get_random(100) == 0)
|
|
||||||
lowest = -1024;
|
|
||||||
#endif /* _KERNEL */
|
|
||||||
|
|
||||||
last_free_memory = lowest;
|
last_free_memory = lowest;
|
||||||
last_free_reason = r;
|
last_free_reason = r;
|
||||||
DTRACE_PROBE2(arc__available_memory, int64_t, lowest, int, r);
|
DTRACE_PROBE2(arc__available_memory, int64_t, lowest, int, r);
|
||||||
|
@ -94,32 +94,35 @@ __FBSDID("$FreeBSD$");
|
|||||||
|
|
||||||
/* BEGIN CSTYLED */
|
/* BEGIN CSTYLED */
|
||||||
SYSCTL_DECL(_vfs_zfs);
|
SYSCTL_DECL(_vfs_zfs);
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, zevent, CTLFLAG_RW, 0, "ZFS events");
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, arc, CTLFLAG_RW, 0, "ZFS adaptive replacement cache");
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, zio, CTLFLAG_RW, 0, "ZFS ZIO");
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, condense, CTLFLAG_RW, 0, "ZFS condense");
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, zil, CTLFLAG_RW, 0, "ZFS ZIL");
|
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, vdev, CTLFLAG_RW, 0, "ZFS VDEV");
|
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, trim, CTLFLAG_RW, 0, "ZFS TRIM");
|
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, spa, CTLFLAG_RW, 0, "space allocation");
|
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, reconstruct, CTLFLAG_RW, 0, "reconstruct");
|
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, prefetch, CTLFLAG_RW, 0, "ZFS ZFETCH");
|
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, multihost, CTLFLAG_RW, 0, "multihost protection");
|
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, mg, CTLFLAG_RW, 0, "metaslab group");
|
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, metaslab, CTLFLAG_RW, 0, "ZFS metaslab");
|
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, lua, CTLFLAG_RW, 0, "lua");
|
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, l2arc, CTLFLAG_RW, 0, "l2arc");
|
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, dbuf, CTLFLAG_RW, 0, "ZFS disk buf cache");
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, dbuf, CTLFLAG_RW, 0, "ZFS disk buf cache");
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, dbuf_cache, CTLFLAG_RW, 0, "ZFS disk buf cache");
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, dbuf_cache, CTLFLAG_RW, 0, "ZFS disk buf cache");
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, deadman, CTLFLAG_RW, 0, "ZFS deadman");
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, deadman, CTLFLAG_RW, 0, "ZFS deadman");
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, condense, CTLFLAG_RW, 0, "ZFS condense");
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, dedup, CTLFLAG_RW, 0, "ZFS dedup");
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, arc, CTLFLAG_RW, 0, "ZFS Adaptive Replacement Cache");
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, l2arc, CTLFLAG_RW, 0, "ZFS l2arc");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, livelist, CTLFLAG_RW, 0, "ZFS livelist");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, lua, CTLFLAG_RW, 0, "ZFS lua");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, metaslab, CTLFLAG_RW, 0, "ZFS metaslab");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, mg, CTLFLAG_RW, 0, "ZFS metaslab group");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, multihost, CTLFLAG_RW, 0, "ZFS multihost protection");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, prefetch, CTLFLAG_RW, 0, "ZFS prefetch");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, reconstruct, CTLFLAG_RW, 0, "ZFS reconstruct");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, recv, CTLFLAG_RW, 0, "ZFS receive");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, send, CTLFLAG_RW, 0, "ZFS send");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, spa, CTLFLAG_RW, 0, "ZFS space allocation");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, trim, CTLFLAG_RW, 0, "ZFS TRIM");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, txg, CTLFLAG_RW, 0, "ZFS transaction group");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, vdev, CTLFLAG_RW, 0, "ZFS VDEV");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, zevent, CTLFLAG_RW, 0, "ZFS event");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, zil, CTLFLAG_RW, 0, "ZFS ZIL");
|
||||||
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, zio, CTLFLAG_RW, 0, "ZFS ZIO");
|
||||||
|
|
||||||
SYSCTL_NODE(_vfs_zfs_vdev, OID_AUTO, mirror, CTLFLAG_RD, 0,
|
SYSCTL_NODE(_vfs_zfs_livelist, OID_AUTO, condense, CTLFLAG_RW, 0,
|
||||||
"ZFS VDEV Mirror");
|
"ZFS livelist condense");
|
||||||
SYSCTL_NODE(_vfs_zfs_vdev, OID_AUTO, cache, CTLFLAG_RW, 0, "ZFS VDEV Cache");
|
SYSCTL_NODE(_vfs_zfs_vdev, OID_AUTO, cache, CTLFLAG_RW, 0, "ZFS VDEV Cache");
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, livelist, CTLFLAG_RW, 0, "livelist state");
|
SYSCTL_NODE(_vfs_zfs_vdev, OID_AUTO, mirror, CTLFLAG_RD, 0,
|
||||||
SYSCTL_NODE(_vfs_zfs_livelist, OID_AUTO, condense, CTLFLAG_RW, 0, "condense knobs");
|
"ZFS VDEV mirror");
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, recv, CTLFLAG_RW, 0, "receive knobs");
|
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, send, CTLFLAG_RW, 0, "send knobs");
|
|
||||||
|
|
||||||
SYSCTL_DECL(_vfs_zfs_version);
|
SYSCTL_DECL(_vfs_zfs_version);
|
||||||
SYSCTL_CONST_STRING(_vfs_zfs_version, OID_AUTO, module, CTLFLAG_RD,
|
SYSCTL_CONST_STRING(_vfs_zfs_version, OID_AUTO, module, CTLFLAG_RD,
|
||||||
@ -267,7 +270,7 @@ SYSCTL_PROC(_vfs_zfs, OID_AUTO, arc_no_grow_shift, CTLTYPE_U32 | CTLFLAG_RWTUN,
|
|||||||
/* dmu.c */
|
/* dmu.c */
|
||||||
|
|
||||||
/* dmu_zfetch.c */
|
/* dmu_zfetch.c */
|
||||||
SYSCTL_NODE(_vfs_zfs, OID_AUTO, zfetch, CTLFLAG_RW, 0, "ZFS ZFETCH");
|
SYSCTL_NODE(_vfs_zfs, OID_AUTO, zfetch, CTLFLAG_RW, 0, "ZFS ZFETCH (LEGACY)");
|
||||||
|
|
||||||
/* max bytes to prefetch per stream (default 8MB) */
|
/* max bytes to prefetch per stream (default 8MB) */
|
||||||
extern uint32_t zfetch_max_distance;
|
extern uint32_t zfetch_max_distance;
|
||||||
@ -295,15 +298,6 @@ SYSCTL_INT(_vfs_zfs, OID_AUTO, default_ibs, CTLFLAG_RWTUN,
|
|||||||
|
|
||||||
/* metaslab.c */
|
/* metaslab.c */
|
||||||
|
|
||||||
/*
|
|
||||||
* Enable/disable lba weighting (i.e. outer tracks are given preference).
|
|
||||||
*/
|
|
||||||
extern boolean_t metaslab_lba_weighting_enabled;
|
|
||||||
SYSCTL_INT(_vfs_zfs_metaslab, OID_AUTO, lba_weighting, CTLFLAG_RWTUN,
|
|
||||||
&metaslab_lba_weighting_enabled, 0,
|
|
||||||
"Enable LBA weighting (i.e. outer tracks are given preference)");
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* In pools where the log space map feature is not enabled we touch
|
* In pools where the log space map feature is not enabled we touch
|
||||||
* multiple metaslabs (and their respective space maps) with each
|
* multiple metaslabs (and their respective space maps) with each
|
||||||
|
@ -1188,6 +1188,6 @@ ddt_walk(spa_t *spa, ddt_bookmark_t *ddb, ddt_entry_t *dde)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* BEGIN CSTYLED */
|
/* BEGIN CSTYLED */
|
||||||
ZFS_MODULE_PARAM(zfs, zfs_, dedup_prefetch, INT, ZMOD_RW,
|
ZFS_MODULE_PARAM(zfs_dedup, zfs_dedup_, prefetch, INT, ZMOD_RW,
|
||||||
"Enable prefetching dedup-ed blks");
|
"Enable prefetching dedup-ed blks");
|
||||||
/* END CSTYLED */
|
/* END CSTYLED */
|
||||||
|
@ -1054,6 +1054,6 @@ EXPORT_SYMBOL(txg_stalled);
|
|||||||
EXPORT_SYMBOL(txg_sync_waiting);
|
EXPORT_SYMBOL(txg_sync_waiting);
|
||||||
|
|
||||||
/* BEGIN CSTYLED */
|
/* BEGIN CSTYLED */
|
||||||
ZFS_MODULE_PARAM(zfs, zfs_, txg_timeout, INT, ZMOD_RW,
|
ZFS_MODULE_PARAM(zfs_txg, zfs_txg_, timeout, INT, ZMOD_RW,
|
||||||
"Max seconds worth of delta per txg");
|
"Max seconds worth of delta per txg");
|
||||||
/* END CSTYLED */
|
/* END CSTYLED */
|
||||||
|
@ -71,7 +71,7 @@ TRIM_EXTENT_BYTES_MIN trim.extent_bytes_min zfs_trim_extent_bytes_min
|
|||||||
TRIM_METASLAB_SKIP trim.metaslab_skip zfs_trim_metaslab_skip
|
TRIM_METASLAB_SKIP trim.metaslab_skip zfs_trim_metaslab_skip
|
||||||
TRIM_TXG_BATCH trim.txg_batch zfs_trim_txg_batch
|
TRIM_TXG_BATCH trim.txg_batch zfs_trim_txg_batch
|
||||||
TXG_HISTORY UNSUPPORTED zfs_txg_history
|
TXG_HISTORY UNSUPPORTED zfs_txg_history
|
||||||
TXG_TIMEOUT txg_timeout zfs_txg_timeout
|
TXG_TIMEOUT txg.timeout zfs_txg_timeout
|
||||||
UNLINK_SUSPEND_PROGRESS UNSUPPORTED zfs_unlink_suspend_progress
|
UNLINK_SUSPEND_PROGRESS UNSUPPORTED zfs_unlink_suspend_progress
|
||||||
VDEV_MIN_MS_COUNT vdev.min_ms_count zfs_vdev_min_ms_count
|
VDEV_MIN_MS_COUNT vdev.min_ms_count zfs_vdev_min_ms_count
|
||||||
VDEV_VALIDATE_SKIP vdev.validate_skip vdev_validate_skip
|
VDEV_VALIDATE_SKIP vdev.validate_skip vdev_validate_skip
|
||||||
|
Loading…
Reference in New Issue
Block a user