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

Reply via email to