Commit 474bc33
nfsd: Reduce contention for the nfsd_file nf_rwsem
When flushing out the unstable file writes as part of a COMMIT call, try
to perform most of of the data writes and waits outside the semaphore.
This means that if the client is sending the COMMIT as part of a memory
reclaim operation, then it can continue performing I/O, with contention
for the lock occurring only once the data sync is finished.
Fixes: 5011af4 ("nfsd: Fix stable writes")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Tested-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>1 parent 0ff5b50 commit 474bc33
1 file changed
Lines changed: 16 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1123 | 1123 | | |
1124 | 1124 | | |
1125 | 1125 | | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
1126 | 1139 | | |
1127 | 1140 | | |
1128 | 1141 | | |
| |||
1153 | 1166 | | |
1154 | 1167 | | |
1155 | 1168 | | |
1156 | | - | |
| 1169 | + | |
1157 | 1170 | | |
1158 | 1171 | | |
1159 | | - | |
| 1172 | + | |
| 1173 | + | |
1160 | 1174 | | |
1161 | 1175 | | |
1162 | 1176 | | |
| |||
0 commit comments