mirror_zfs/module/os/freebsd/zfs
Ameer Hamza d1f290f1ea L2ARC: Implement DWPD-based rate limiting with adaptive feed intervals
Add DWPD (Drive Writes Per Day) rate limiting to control L2ARC write
speeds and protect SSD endurance. Write rate is constrained by the
minimum of l2arc_write_max and DWPD-calculated budget. Devices
accumulate unused write budget over 24-hour periods with automatic reset
and carry-over. Writes occur in controlled bursts (max 50MB) with
adaptive intervals to achieve target rates. Applies after initial device
fill.

Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes #18093
2026-02-04 10:07:07 -08:00
..
abd_os.c Prefer VERIFY0P(n) over VERIFY3P(n, ==, NULL) 2025-08-07 11:41:42 -07:00
arc_os.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
crypto_os.c SPDX: license tags: BSD-2-Clause 2025-03-13 17:56:46 -07:00
dmu_os.c Pass flags to more DMU write/hold functions 2025-10-29 11:17:51 -07:00
event_os.c FreeBSD: remove support for FreeBSD < 13.0-RELEASE (#16372) 2024-08-05 16:56:45 -07:00
hkdf.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
kmod_core.c Retire zfs_autoimport_disable kmod option 2025-08-14 14:58:58 -07:00
spa_os.c spa_misc: add an API for spa_namespace_lock 2025-11-10 14:23:39 -08:00
sysctl_os.c L2ARC: Implement DWPD-based rate limiting with adaptive feed intervals 2026-02-04 10:07:07 -08:00
vdev_geom.c Prefer VERIFY0P(n) over VERIFY3P(n, ==, NULL) 2025-08-07 11:41:42 -07:00
vdev_label_os.c Cleanup ZIO_FLAG_IO_RETRY vs TRYHARD usage 2025-10-30 16:29:48 -07:00
zfs_acl.c Pass flags to more DMU write/hold functions 2025-10-29 11:17:51 -07:00
zfs_ctldir.c FreeBSD: Correct _PC_MIN_HOLE_SIZE 2025-10-08 09:13:22 -04:00
zfs_debug.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
zfs_dir.c Prefer VERIFY0(n) over VERIFY3U(n, ==, 0) 2025-08-07 11:41:25 -07:00
zfs_file_os.c Enable zhack to work properly with 4k sector size disks 2025-09-10 11:13:55 -07:00
zfs_ioctl_compat.c SPDX: license tags: BSD-2-Clause 2025-03-13 17:56:46 -07:00
zfs_ioctl_os.c spa_misc: add an API for spa_namespace_lock 2025-11-10 14:23:39 -08:00
zfs_racct.c Wire O_DIRECT also to Uncached I/O (#17218) 2025-05-13 14:26:55 -07:00
zfs_vfsops.c ZIL: allow zil_commit() to fail with error 2025-08-08 16:43:09 -07:00
zfs_vnops_os.c FreeBSD: Remove references to DEBUG_VFS_LOCKS 2026-01-19 08:55:17 -08:00
zfs_znode_os.c Fix rangelock test for growing block size 2025-12-18 09:23:38 -08:00
zio_crypt.c remove thread unsafe debug code causing FreeBSD double free panic 2026-01-21 10:00:34 -08:00
zvol_os.c spa_misc: add an API for spa_namespace_lock 2025-11-10 14:23:39 -08:00