From 36639c3942f587e652d2aba6a71ad45b64c2ce47 Mon Sep 17 00:00:00 2001 From: Mateusz Guzik Date: Mon, 2 Nov 2020 17:39:59 +0000 Subject: zfs: zstd: short-circuit cleaning buffers if none exist This avoids a barrage of locking every minute. --- sys/contrib/openzfs/module/zstd/zfs_zstd.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'sys/contrib/openzfs/module/zstd') diff --git a/sys/contrib/openzfs/module/zstd/zfs_zstd.c b/sys/contrib/openzfs/module/zstd/zfs_zstd.c index 5c896478f970..3d1805f49cca 100644 --- a/sys/contrib/openzfs/module/zstd/zfs_zstd.c +++ b/sys/contrib/openzfs/module/zstd/zfs_zstd.c @@ -700,6 +700,13 @@ zstd_mempool_deinit(void) void zfs_zstd_cache_reap_now(void) { + + /* + * Short-circuit if there are no buffers to begin with. + */ + if (ZSTDSTAT(zstd_stat_buffers) == 0) + return; + /* * calling alloc with zero size seeks * and releases old unused objects -- cgit v1.2.3