diff options
author | George Wilson <[email protected]> | 2015-06-24 15:48:22 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-06-25 08:58:16 -0700 |
commit | 669dedb33f4bf68ba75089f1e7b279932c9580a7 (patch) | |
tree | cd242cd354a17ade2773f9e6e2ede5f2c6ffb0e0 /module | |
parent | aa9af22cdf8d16c197974c3a478d2053b3bed498 (diff) |
Illumos 5163 - arc should reap range_seg_cache
5163 arc should reap range_seg_cache
Reviewed by: Christopher Siden <[email protected]>
Reviewed by: Matthew Ahrens <[email protected]>
Reviewed by: Richard Elling <[email protected]>
Reviewed by: Saso Kiselkov <[email protected]>
Approved by: Dan McDonald <[email protected]>
References:
https://www.illumos.org/issues/5163
https://github.com/illumos/illumos-gate/commit/83803b5
Porting Notes:
Added umem_cache_reap_now() wrapped to suppress unused variable
warning for user space build in arc_kmem_reap_now().
Ported-by: Brian Behlendorf <[email protected]>
Diffstat (limited to 'module')
-rw-r--r-- | module/zfs/arc.c | 2 | ||||
-rw-r--r-- | module/zfs/range_tree.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/module/zfs/arc.c b/module/zfs/arc.c index 99fa69872..9bf527203 100644 --- a/module/zfs/arc.c +++ b/module/zfs/arc.c @@ -3043,6 +3043,7 @@ arc_kmem_reap_now(arc_reclaim_strategy_t strat, uint64_t bytes) kmem_cache_t *prev_data_cache = NULL; extern kmem_cache_t *zio_buf_cache[]; extern kmem_cache_t *zio_data_buf_cache[]; + extern kmem_cache_t *range_seg_cache; if ((arc_meta_used >= arc_meta_limit) && zfs_arc_meta_prune) { /* @@ -3073,6 +3074,7 @@ arc_kmem_reap_now(arc_reclaim_strategy_t strat, uint64_t bytes) kmem_cache_reap_now(buf_cache); kmem_cache_reap_now(hdr_full_cache); kmem_cache_reap_now(hdr_l2only_cache); + kmem_cache_reap_now(range_seg_cache); } /* diff --git a/module/zfs/range_tree.c b/module/zfs/range_tree.c index 22175e06a..6422fd1c1 100644 --- a/module/zfs/range_tree.c +++ b/module/zfs/range_tree.c @@ -33,7 +33,7 @@ #include <sys/zio.h> #include <sys/range_tree.h> -static kmem_cache_t *range_seg_cache; +kmem_cache_t *range_seg_cache; void range_tree_init(void) |