aboutsummaryrefslogtreecommitdiffstats
path: root/module/avl
diff options
context:
space:
mode:
authorAlexander Motin <[email protected]>2021-07-01 11:30:31 -0400
committerGitHub <[email protected]>2021-07-01 09:30:31 -0600
commit490c845efe3ca29eaa8aa6ea1e3f45eda72895fe (patch)
tree50711d7c528813a30a86e0b2bf128057d52f53bf /module/avl
parentc6d1112bf4125e5a22eb47ceb7b8cee01f0df9a1 (diff)
Compact dbuf/buf hashes and lock arrays
With default dbuf cache size of 1/32 of ARC, it makes no sense to have hash table of the same size (or even bigger on Linux). Reduce it to 1/8 of ARC's one, still leaving some slack, assuming higher I/O rate via dbuf cache than via ARC. Remove padding from ARC hash locks array. The idea behind padding is to avoid false sharing between locks. It would have sense if there would be a limited number of very busy locks. But since we have no limit on the number, using the same memory for more locks we can achieve even lower lock contention with the same false sharing, or we can use less memory for the same contention level. Reduce number of hash locks from 8192 to 2048. The number is still big enough to not cause contention, but reduced memory size improves cache hit rate for mutex_tryenter() in ARC eviction thread, saving about 1% of the thread time. Reviewed-by: Matthew Ahrens <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Alexander Motin <[email protected]> Sponsored-By: iXsystems, Inc. Closes #12289
Diffstat (limited to 'module/avl')
0 files changed, 0 insertions, 0 deletions