diff options
author | Alexander Motin <[email protected]> | 2020-08-25 17:33:36 -0400 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2020-08-27 16:06:28 -0700 |
commit | 3ca31bd0c65a48b2fc402efc1dd914cfe7c52781 (patch) | |
tree | 34a2df3249f126e6e62ed363f1e9cffab74c933f /module/zcommon/zfs_fletcher.c | |
parent | 47a3f3fc01def2695c6e0652dad063c50a0950be (diff) |
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 <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Reported-by: Richard Elling <[email protected]>
Signed-off-by: Alexander Motin <[email protected]>
Closes #10765
Diffstat (limited to 'module/zcommon/zfs_fletcher.c')
0 files changed, 0 insertions, 0 deletions