[LU-17078] do not wake up an ldlm_bl thread for local locks Created: 01/Sep/23 Updated: 04/Feb/24 Resolved: 04/Feb/24 |
|
| Status: | Resolved |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | Lustre 2.16.0 |
| Type: | Improvement | Priority: | Minor |
| Reporter: | Patrick Farrell | Assignee: | Patrick Farrell |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||
| Severity: | 3 | ||||
| Rank (Obsolete): | 9223372036854775807 | ||||
| Description |
|
When we're doing lockless IO on the client (eg, DIO), the server handles the LDLM locking. This means acquiring and then cancelling the lock, since the server doesn't cache locks. The specific problem is the server spins up a separate thread for each ldlm_bl, which takes a lot of time. The client does this because the lock may cover a significant amount of cached data, and cancelling it in the client thread context can create significant delays. But the server doesn't cache anything, so allow the lock to be destroyed immediately. |
| Comments |
| Comment by Patrick Farrell [ 01/Sep/23 ] |
| Comment by Gerrit Updater [ 04/Feb/24 ] |
|
"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/52192/ |
| Comment by Peter Jones [ 04/Feb/24 ] |
|
Merged for 2.16 |