]> git.proxmox.com Git - mirror_zfs.git/commit
Refactor Log Size Limit
authorAlexander Motin <mav@FreeBSD.org>
Tue, 24 May 2022 16:46:35 +0000 (12:46 -0400)
committerTony Hutter <hutter2@llnl.gov>
Mon, 26 Sep 2022 21:55:27 +0000 (14:55 -0700)
commit33223cbc3cbed37fdcecedc18b4b82406c73c01b
tree68a60589313fde3a77248647071134969ec89261
parent91e02156ddea27d980fa8e5f7f3d10dda06139d2
Refactor Log Size Limit

Original Log Size Limit implementation blocked all writes in case of
limit reached until the TXG is committed and the log is freed.  It
caused huge delays and following speed spikes in application writes.

This implementation instead smoothly throttles writes, using exactly
the same mechanism as used for dirty data.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: jxdking <lostking2008@hotmail.com>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored-By: iXsystems, Inc.
Issue #12284
Closes #13476
include/sys/dmu_tx.h
include/sys/dsl_pool.h
man/man4/zfs.4
module/zfs/dmu_tx.c
module/zfs/dsl_pool.c