Reviewed by: Dan Kimmel <[email protected]>
Reviewed by: Paul Dagnelie <[email protected]>

dbuf_evict_notify() holds the dbuf_evict_lock while checking if it should do 
the eviction itself
(because the evict thread is not able to keep up). This can result in massive 
lock contention.
It isn't necessary to hold the lock, because if we make the wrong choice 
occasionally, nothing
bad will happen. This commit results in a ~60% performance improvement for 
ARC-cached sequential reads.

Upstream bugs: DLPX-50674
You can view, comment on, or merge this pull request online at:

  https://github.com/openzfs/openzfs/pull/369

-- Commit Summary --

  * 8156 dbuf_evict_notify() does not need dbuf_evict_lock

-- File Changes --

    M usr/src/uts/common/fs/zfs/dbuf.c (18)

-- Patch Links --

https://github.com/openzfs/openzfs/pull/369.patch
https://github.com/openzfs/openzfs/pull/369.diff

-- 
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/369

------------------------------------------
openzfs-developer
Archives: https://openzfs.topicbox.com/groups/developer/
Powered by Topicbox: https://topicbox.com

Reply via email to