mirror_zfs/man
Allan Jude 8e9ffe1b4f ARC: parallel eviction
On systems with enormous amounts of memory, the single arc_evict thread
can become a bottleneck if reads and writes are stuck behind it, waiting
for old data to be evicted before new data can take its place.

This commit adds support for evicting from multiple ARC lists in
parallel, by farming the evict work out to some number of threads and
then accumulating their results.

A new tuneable, zfs_arc_evict_threads, sets the number of threads. By
default, it will scale based on the number of CPUs.

Sponsored-by: Expensify, Inc.
Sponsored-by: Klara, Inc.
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Youzhong Yang <youzhong@gmail.com>
Signed-off-by: Allan Jude <allan@klarasystems.com>
Signed-off-by: Mateusz Piotrowski <mateusz.piotrowski@klarasystems.com>
Signed-off-by: Alexander Stetsenko <alex.stetsenko@klarasystems.com>
Signed-off-by: Rob Norris <rob.norris@klarasystems.com>
Co-authored-by: Rob Norris <rob.norris@klarasystems.com>
Co-authored-by: Mateusz Piotrowski <mateusz.piotrowski@klarasystems.com>
Co-authored-by: Alexander Stetsenko <alex.stetsenko@klarasystems.com>
Closes #16486
2025-06-17 10:50:26 -07:00
..
man1 Harmonize on American spelling in several places 2025-04-16 09:59:45 -07:00
man4 ARC: parallel eviction 2025-06-17 10:50:26 -07:00
man5 SPDX: license tags: CDDL-1.0 2025-04-16 09:59:44 -07:00
man7 Disambiguate reference to kibibytes, not kilobytes 2025-04-16 09:59:45 -07:00
man8 Refactor man page and CLI help output per mandoc 2025-06-17 10:49:40 -07:00
Makefile.am Add DDT prune command 2024-09-04 14:17:02 -07:00