freebsd-nq/sys/cddl
Steven Hartland 4d19f4ad1f Refactor ZFS ARC reclaim logic to be more VM cooperative
Prior to this change we triggered ARC reclaim when kmem usage passed 3/4
of the total available, as indicated by vmem_size(kmem_arena, VMEM_ALLOC).

This could lead large amounts of unused RAM e.g. on a 192GB machine with
ARC the only major RAM consumer, 40GB of RAM would remain unused.

The old method has also been seen to result in extreme RAM usage under
certain loads, causing poor performance and stalls.

We now trigger ARC reclaim when the number of free pages drops below the
value defined by the new sysctl vfs.zfs.arc_free_target, which defaults
to the value of vm.v_free_target.

Credit to Karl Denninger for the original patch on which this update was
based.

PR:		191510 and 187594
Tested by:	dteske
MFC after:	1 week
Relnotes:	yes
Sponsored by:	Multiplay
2014-08-28 19:50:08 +00:00
..
boot/zfs MFV r267565: 2014-07-01 06:43:15 +00:00
compat/opensolaris Refactor ZFS ARC reclaim logic to be more VM cooperative 2014-08-28 19:50:08 +00:00
contrib/opensolaris Refactor ZFS ARC reclaim logic to be more VM cooperative 2014-08-28 19:50:08 +00:00
dev Restore the correct value when disabling probes. Otherwise the instrumented 2014-08-24 17:10:47 +00:00