So, a couple of things. First, the ARC underflow/overflow shift isn't showing `zfs_arc_overflow_shift` (which is a constant) but rather the expression that is evaluated against `zfs_arc_overflow_shift`: the degree to which the ARC is overflowing (or underflowing) in terms of a power-of-two delta. (As an aside, that this is calculated this way and not as a much more straightforward percentage makes this unnecessarily confusing to understand -- and also less flexible.)
Second, as to why `arc_c` didn't grow during the shaded region, I don't know and it isn't material at any rate; the problem here isn't that `arc_c` isn't growing but rather that ARC reclaim can't run because it is pinned under kmem reaping. Third, it's important to realize that the ARC's reaping of its own caches is **always** asynchronous: kmem reaping happens out of the `kmem_taskq`, so the only question is whether or not the ARC reclaim is blocking itself on this asynchronous activity. In this regard, I actually do prefer our fix: `kmem_cache_reap_now` is disingenuous in its nomenclature in that it is (again) **always** asynchronous in that another thread is doing the work (and that it will block itself upon the completion of that work), and it will not necessarily happen for a reasonable definition of "now." Adding another layer of asynchrony (another thread whose sole purpose is to signal and wait on yet another thread) strikes me as unnecessarily complicated -- and it leaves `kmem_cache_reap_now` to be tripped upon by someone else. To me, our fix rectifies this underlying problem while introducing the least amount of new complexity to the system -- an important consideration given that it is the system's very complexity that has created this (long-standing) issue. -- 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-341510801 ------------------------------------------ openzfs-developer Archives: https://openzfs.topicbox.com/groups/developer/discussions/Tf18bbbd46b0af4a7-Mf7b5fcea208fe67814f0e6ed Powered by Topicbox: https://topicbox.com