Add abd_cache_reap_now for abd_chunk_cache users
Apparently missed in the initial port integration was the need to reap the abd_chunk_cache on FreeBSD. This change addresses that oversight. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Closes #10474
This commit is contained in:
parent
4458157bee
commit
7564073ed6
|
@ -59,6 +59,7 @@ abd_t *abd_get_offset(abd_t *, size_t);
|
|||
abd_t *abd_get_offset_size(abd_t *, size_t, size_t);
|
||||
abd_t *abd_get_zeros(size_t);
|
||||
abd_t *abd_get_from_buf(void *, size_t);
|
||||
void abd_cache_reap_now(void);
|
||||
|
||||
/*
|
||||
* Conversion to and from a normal buffer
|
||||
|
|
|
@ -488,3 +488,9 @@ abd_iter_unmap(struct abd_iter *aiter)
|
|||
aiter->iter_mapaddr = NULL;
|
||||
aiter->iter_mapsize = 0;
|
||||
}
|
||||
|
||||
void
|
||||
abd_cache_reap_now(void)
|
||||
{
|
||||
kmem_cache_reap_soon(abd_chunk_cache);
|
||||
}
|
||||
|
|
|
@ -920,6 +920,11 @@ abd_iter_unmap(struct abd_iter *aiter)
|
|||
aiter->iter_mapsize = 0;
|
||||
}
|
||||
|
||||
void
|
||||
abd_cache_reap_now(void)
|
||||
{
|
||||
}
|
||||
|
||||
#if defined(_KERNEL)
|
||||
/*
|
||||
* bio_nr_pages for ABD.
|
||||
|
|
|
@ -4678,6 +4678,7 @@ arc_kmem_reap_soon(void)
|
|||
kmem_cache_reap_now(hdr_full_cache);
|
||||
kmem_cache_reap_now(hdr_l2only_cache);
|
||||
kmem_cache_reap_now(zfs_btree_leaf_cache);
|
||||
abd_cache_reap_now();
|
||||
|
||||
if (zio_arena != NULL) {
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue