freebsd-dev/sys/cddl
Mark Johnston b1a90834bb Set arc_kmem_cache_reap_retry_ms to 0 and make it configurable.
r329759 introduced this parameter, which controls the rate at which ZFS
UMA zones are drained when the ARC reclaim thread is shrinking the ARC.
The reclamation target is derived from the global free page count, and
arc_shrink() only frees buffers back to UMA, so the free page count is
not updated until the zones are drained.  Thus, back-to-back calls to
arc_shrink() within the arc_kmem_cache_reap_retry_ms interval do not
provide immediate feedback to the arc_reclaim control loop, so we may
free more of the ARC than needed to address a transient page shortage.

As we do not implement the asynchronous zone draining added in r329759,
disable the retry interval, restoring pre-r329759 behaviour.  That is,
we will drain the ZFS UMA zones before each attempt to shrink the ARC.

Reviewed by:	mav
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2018-08-21 16:37:37 +00:00
..
boot/zfs
compat/opensolaris MFV/ZoL: add dbuf stats 2018-08-12 01:10:18 +00:00
contrib/opensolaris Set arc_kmem_cache_reap_retry_ms to 0 and make it configurable. 2018-08-21 16:37:37 +00:00
dev dtrace/powerpc: Correct register indices for non-indexed registers in the trapframe 2018-07-16 19:47:29 +00:00