diff options
author | Alexander Motin <[email protected]> | 2014-07-18 08:53:38 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-07-06 09:34:13 -0700 |
commit | e16b3fcc610fab2dcf3381486b2640dc2a2213cb (patch) | |
tree | 8571cd7ae1db3137b7f36ae93ff07f447a16fecc /include/libuutil_impl.h | |
parent | 4bda3bd0e72d582a785b6552ce16b99e04414fbe (diff) |
Illumos 5008 - lock contention (rrw_exit) while running a read only load
5008 lock contention (rrw_exit) while running a read only load
Reviewed by: Matthew Ahrens <[email protected]>
Reviewed by: George Wilson <[email protected]>
Reviewed by: Alex Reece <[email protected]>
Reviewed by: Christopher Siden <[email protected]>
Reviewed by: Richard Yao <[email protected]>
Reviewed by: Saso Kiselkov <[email protected]>
Approved by: Garrett D'Amore <[email protected]>
Porting notes:
This patch ported perfectly cleanly to ZoL. During testing 100% cached
small-block reads, extreme contention was noticed on rrl->rr_lock from
rrw_exit() due to the frequent entering and leaving ZPL. Illumos picked
up this patch from FreeBSD and it also helps under Linux.
On a 1-minute 4K cached read test with 10 fio processes pinned to a single
socket on a 4-socket (10 thread per socket) NUMA system, contentions on
rrl->rr_lock were reduced from 508799 to 43085.
Ported-by: Tim Chase <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #3555
Diffstat (limited to 'include/libuutil_impl.h')
0 files changed, 0 insertions, 0 deletions