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
