mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-26 04:07:45 +03:00
FreeBSD: Organize sysctls
FreeBSD had a few platform-specific ARC tunables in the wrong place: - Move FreeBSD-specifc ARC tunables into the same vfs.zfs.arc node as the rest of the ARC tunables. - Move the handlers from arc_os.c to sysctl_os.c and add compat sysctls for the legacy names. While here, some additional clean up: - Most handlers are specific to a particular variable and don't need a pointer passed through the args. - Group blocks of related variables, handlers, and sysctl declarations into logical sections. - Match variable types for temporaries in handlers with the type of the global variable. - Remove leftover comments. Reviewed-by: Alexander Motin <mav@FreeBSD.org> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes #13756
This commit is contained in:
committed by
Brian Behlendorf
parent
4723eba8c0
commit
7bb707ffaf
@@ -72,31 +72,14 @@ SYSINIT(arc_free_target_init, SI_SUB_KTHREAD_PAGE, SI_ORDER_ANY,
|
||||
* 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);
|
||||
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",
|
||||
int param_set_arc_free_target(SYSCTL_HANDLER_ARGS);
|
||||
ZFS_MODULE_PARAM_CALL(zfs_arc, zfs_arc_, free_target,
|
||||
param_set_arc_free_target, 0, CTLFLAG_RW,
|
||||
"Desired number of free pages below which ARC triggers reclaim");
|
||||
int param_set_arc_no_grow_shift(SYSCTL_HANDLER_ARGS);
|
||||
ZFS_MODULE_PARAM_CALL(zfs_arc, zfs_arc_, no_grow_shift,
|
||||
param_set_arc_no_grow_shift, 0, ZMOD_RW,
|
||||
"log2(fraction of ARC which must be free to allow growing)");
|
||||
|
||||
int64_t
|
||||
arc_available_memory(void)
|
||||
|
||||
Reference in New Issue
Block a user