FreeBSD: Remove extra arc_reduce_target_size() call

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
This commit is contained in:
Alexander Motin 2023-03-17 20:31:08 -04:00 committed by Brian Behlendorf
parent 48f376b0c5
commit 5219a2691e
1 changed files with 0 additions and 2 deletions

View File

@ -160,8 +160,6 @@ arc_prune_task(void *arg)
{ {
int64_t nr_scan = (intptr_t)arg; int64_t nr_scan = (intptr_t)arg;
arc_reduce_target_size(ptob(nr_scan));
#ifndef __ILP32__ #ifndef __ILP32__
if (nr_scan > INT_MAX) if (nr_scan > INT_MAX)
nr_scan = INT_MAX; nr_scan = INT_MAX;