]> git.proxmox.com Git - mirror_zfs.git/commit - man/man4/zfs.4
Introduce limit on size of L2ARC headers
authorAlexander Motin <mav@FreeBSD.org>
Tue, 25 Aug 2020 21:33:36 +0000 (17:33 -0400)
committerGitHub <noreply@github.com>
Tue, 25 Aug 2020 21:33:36 +0000 (14:33 -0700)
commit523e1295fe8fb15d37b2459ce48a32b9454d448d
tree34a2df3249f126e6e62ed363f1e9cffab74c933f
parent47a3f3fc01def2695c6e0652dad063c50a0950be
Introduce limit on size of L2ARC headers

Since L2ARC buffers are not evicted on memory pressure, too large
amount of headers on system with irrationally large L2ARC can render
it slow or even unusable.  This change limits L2ARC writes and
rebuild if unevictable L2ARC-only headers reach dangerous level.

While there, call arc_adapt() on L2ARC rebuild, so that it could
properly grow arc_c, reflecting potentially significant ARC size
increase and avoiding slow growth with hopeless eviction attempts
later when "overflow" is detected.

Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reported-by: Richard Elling <Richard.Elling@RichardElling.com>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Closes #10765
man/man5/zfs-module-parameters.5
module/zfs/arc.c