Xueqian Hu has uploaded this change for review. (
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1240515?usp=email )
Change subject: SAL: split exp_state_list onto its own rwlock to cut PUTFH/OPEN
contention
......................................................................
SAL: split exp_state_list onto its own rwlock to cut PUTFH/OPEN contention
exp_lock guards both the read-hot perms/client check on every PUTFH
(export_check_access) and the write-hot exp_state_list churn on every
OPEN/CLOSE (state_add/state_del), so the two convoy on a busy export
despite touching disjoint data. Give exp_state_list its own rwlock
(exp_state_lock); exp_lock still protects perms/clients and the NLM
lists. The two sets were already disjoint so no atomicity is lost, and
exp_state_lock is a leaf lock (only state_mutex nests under it).
Change-Id: I26c68ce8039f1e84d2a69560f746900212a62d1b
Signed-off-by: xueqian.hu <xh140312(a)outlook.com>
---
M src/SAL/nfs4_state.c
M src/include/export_mgr.h
M src/support/export_mgr.c
3 files changed, 17 insertions(+), 13 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/15/1240515/1
--
To view, visit
https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/1240515?usp=email
To unsubscribe, or for help writing mail filters, visit
https://review.gerrithub.io/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I26c68ce8039f1e84d2a69560f746900212a62d1b
Gerrit-Change-Number: 1240515
Gerrit-PatchSet: 1
Gerrit-Owner: Xueqian Hu <xh140312(a)outlook.com>