]> git.proxmox.com Git - mirror_zfs.git/commitdiff
FreeBSD: Remove extra arc_reduce_target_size() call
authorAlexander Motin <mav@FreeBSD.org>
Sat, 18 Mar 2023 00:31:08 +0000 (20:31 -0400)
committerGitHub <noreply@github.com>
Sat, 18 Mar 2023 00:31:08 +0000 (17:31 -0700)
Remove arc_reduce_target_size() call from arc_prune_task().  The idea
of arc_prune_task() is to remove external references on ARC metadata,
such as vnodes. Since arc_prune_async() is called only from ARC itself,
it makes no sense to create a parasitic loop between ARC eviction and
the pruning, treatening to drop ARC to its minimum.  I can't guess why
it was added as part of FreeBSD to OpenZFS integration.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #14639

module/os/freebsd/zfs/arc_os.c

index a2ff0f386a9ddfc6da34ba5f77a3930cece1fde2..12f16edb1e2bda1649d0e52b2d87172732160b04 100644 (file)
@@ -140,8 +140,6 @@ arc_prune_task(void *arg)
 {
        uint64_t nr_scan = (uintptr_t)arg;
 
-       arc_reduce_target_size(ptob(nr_scan));
-
 #ifndef __ILP32__
        if (nr_scan > INT_MAX)
                nr_scan = INT_MAX;