Skip to content

Commit

Permalink
FreeBSD: Remove extra arc_reduce_target_size() call
Browse files Browse the repository at this point in the history
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
  • Loading branch information
amotin authored and behlendorf committed Mar 24, 2023
1 parent 48f376b commit 5219a26
Showing 1 changed file with 0 additions and 2 deletions.
2 changes: 0 additions & 2 deletions module/os/freebsd/zfs/arc_os.c
Original file line number Diff line number Diff line change
Expand Up @@ -160,8 +160,6 @@ arc_prune_task(void *arg)
{
int64_t nr_scan = (intptr_t)arg;

arc_reduce_target_size(ptob(nr_scan));

#ifndef __ILP32__
if (nr_scan > INT_MAX)
nr_scan = INT_MAX;
Expand Down

0 comments on commit 5219a26

Please sign in to comment.