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 GitHub
parent fa46802585
commit d520f64342
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 0 additions and 2 deletions

View File

@ -140,8 +140,6 @@ arc_prune_task(void *arg)
{ {
uint64_t nr_scan = (uintptr_t)arg; uint64_t nr_scan = (uintptr_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;