[LU-5548] avoid list scan in ptlrpcd_check Created: 27/Aug/14 Updated: 27/Apr/15 Resolved: 03/Sep/14 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.7.0, Lustre 2.5.4 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Liang Zhen (Inactive) | Assignee: | Liang Zhen (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Severity: | 3 |
| Rank (Obsolete): | 15470 |
| Description |
|
ptlrpcd_check() always scan all requests on ptlrpc_request_set::set_requests and try to finish completed requests, this is low efficiency. Even worse, l_wait_event() always checks condition for twice before sleeping and one more time after waking up, which means it will call ptlrpcd_check() for three times in each loop. The solution is quite simple, ptlrpc_check_set() can move completed requests at head of ptlrpc_request_set::set_requests, so ptlrpcd_check doesn't need to scan all requests on a rqset anymore. This is an improvement for |
| Comments |
| Comment by Liang Zhen (Inactive) [ 27/Aug/14 ] |
|
Patch is here: http://review.whamcloud.com/#/c/11513/ |
| Comment by Liang Zhen (Inactive) [ 03/Sep/14 ] |
|
patch landed |
| Comment by Gerrit Updater [ 01/Dec/14 ] |
|
Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12265/ |