I'm also looking at [the changes made for 
OS-6363](https://github.com/joyent/illumos-joyent/commit/daa3911f02365820bf2df2a1cdf96602eda66912)
 and I think the two solutions achieve the same goal, but using different ways 
to do that.

In OS-6363, the work for reaping from the ARC caches was modified to be 
asynchronous via `kmem_cache_reap_soon`. In this PR, the synchronous call to 
`kmem_cache_reap_now` is still used, but it's now called from a dedicated 
thread.

Thus, I don't think it makes sense to pull in the work to change 
`kmem_cache_reap_now` to `kmem_cache_reap_soon`, since the fact that 
`kmem_cache_reap_now` can take minutes isn't an issue now that it's called from 
a separate thread. Similarly, if we don't move to `kmem_cache_reap_soon`, I 
don't think `kmem_cache_reap_active` is needed either.

With that said, I do see value pulling in the logic to use `kmem_reap_time` to 
limit how often we call `arc_kmem_reap_now`. I'll push a follow on commit to 
pull this in.

Thoughts? Do folks agree?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/openzfs/openzfs/pull/486#issuecomment-341486386
------------------------------------------
openzfs-developer
Archives: 
https://openzfs.topicbox.com/groups/developer/discussions/Tf18bbbd46b0af4a7-M2797b2355ce0a66caf573836
Powered by Topicbox: https://topicbox.com

Reply via email to