aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/openzfs/module/os/linux/zfs/arc_os.c
diff options
context:
space:
mode:
authorMartin Matuska <mm@FreeBSD.org>2024-09-09 16:13:02 +0000
committerMartin Matuska <mm@FreeBSD.org>2024-09-09 16:13:02 +0000
commite2df9bb44109577475aeb186e7186ac040f9bde1 (patch)
tree50f77b5169bca65525d6bf35d07c5b2079d971f9 /sys/contrib/openzfs/module/os/linux/zfs/arc_os.c
parentf05795e3f65f305cb770ae91d8e9c8f05d267e0d (diff)
parentb109925820fb79db3e37670c159977f03edd950f (diff)
downloadsrc-e2df9bb44109577475aeb186e7186ac040f9bde1.tar.gz
src-e2df9bb44109577475aeb186e7186ac040f9bde1.zip
zfs: merge openzfs/zfs@b10992582
Notable upstream pull request merges: #15892 -multiple Fast Dedup: Introduce the FDT on-disk format and feature flag #15893 -multiple Fast Dedup: “flat” DDT entry format #15895 -multiple Fast Dedup: FDT-log feature #16239 6be8bf555 zpool: Provide GUID to zpool-reguid(8) with -g #16277 -multiple Fast Dedup: prune unique entries #16316 5807de90a Fix null ptr deref when renaming a zvol with snaps and snapdev=visible #16343 77a797a38 Enable L2 cache of all (MRU+MFU) metadata but MFU data only #16446 83f359245 FreeBSD: fix build without kernel option MAC #16449 963e6c9f3 Fix incorrect error report on vdev attach/replace #16505 b10992582 spa_prop_get: require caller to supply output nvlist Obtained from: OpenZFS OpenZFS commit: b109925820fb79db3e37670c159977f03edd950f
Diffstat (limited to 'sys/contrib/openzfs/module/os/linux/zfs/arc_os.c')
-rw-r--r--sys/contrib/openzfs/module/os/linux/zfs/arc_os.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/contrib/openzfs/module/os/linux/zfs/arc_os.c b/sys/contrib/openzfs/module/os/linux/zfs/arc_os.c
index 75a9ea53225e..c6b9cb2ddb3f 100644
--- a/sys/contrib/openzfs/module/os/linux/zfs/arc_os.c
+++ b/sys/contrib/openzfs/module/os/linux/zfs/arc_os.c
@@ -201,9 +201,9 @@ arc_shrinker_count(struct shrinker *shrink, struct shrink_control *sc)
* See also the comment above zfs_arc_shrinker_limit.
*/
int64_t can_free = btop(arc_evictable_memory());
- int64_t limit = zfs_arc_shrinker_limit != 0 ?
- zfs_arc_shrinker_limit : INT64_MAX;
- return (MIN(can_free, limit));
+ if (current_is_kswapd() && zfs_arc_shrinker_limit)
+ can_free = MIN(can_free, zfs_arc_shrinker_limit);
+ return (can_free);
}
static unsigned long