From cdd53fea1e899585f141fb2d4885e88df9d6939f Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Thu, 1 Aug 2024 15:25:42 -0400 Subject: [PATCH] FreeBSD: Add missing memory reclamation accounting Signed-off-by: Alexander Motin Sponsored by: iXsystems, Inc. Reviewed-by: Tino Reichardt Reviewed-by: Umer Saleem Reviewed-by: Ameer Hamza Reviewed-by: Tony Hutter --- module/os/freebsd/zfs/arc_os.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/module/os/freebsd/zfs/arc_os.c b/module/os/freebsd/zfs/arc_os.c index f52c7bb5af..dd3da2183a 100644 --- a/module/os/freebsd/zfs/arc_os.c +++ b/module/os/freebsd/zfs/arc_os.c @@ -166,8 +166,12 @@ arc_lowmem(void *arg __unused, int howto __unused) * here from ARC itself and may hold ARC locks and thus risk a deadlock * with ARC reclaim thread. */ - if (curproc == pageproc) + if (curproc == pageproc) { arc_wait_for_eviction(to_free, B_FALSE, B_FALSE); + ARCSTAT_BUMP(arcstat_memory_indirect_count); + } else { + ARCSTAT_BUMP(arcstat_memory_direct_count); + } } void