diff options
author | Alexander Motin <[email protected]> | 2023-10-20 15:38:37 -0400 |
---|---|---|
committer | Tony Hutter <[email protected]> | 2023-11-06 16:47:05 -0800 |
commit | 6e41aca519322757f64cd737aebbcf36d931997f (patch) | |
tree | b7236a8c5dc614787a50dae1f7ded285565a1ca3 /module/os/linux/zfs | |
parent | 79f7de575252b62a2aa7c92f9cbef9710f1c244a (diff) |
Trust ARC_BUF_SHARED() more
In my understanding ARC_BUF_SHARED() and arc_buf_is_shared() should
return identical results, except the second also asserts it deeper.
The first is much cheaper though, saving few pointer dereferences.
Replace production arc_buf_is_shared() calls with ARC_BUF_SHARED(),
and call arc_buf_is_shared() in random assertions, while making it
even more strict.
On my tests this in half reduces arc_buf_destroy_impl() time, that
noticeably reduces hash_lock congestion under heavy dbuf eviction.
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: George Wilson <[email protected]>
Signed-off-by: Alexander Motin <[email protected]>
Sponsored by: iXsystems, Inc.
Closes #15397
Diffstat (limited to 'module/os/linux/zfs')
0 files changed, 0 insertions, 0 deletions