[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:
Related
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 ]

https://review.whamcloud.com/c/fs/lustre-release/+/52192

Comment by Gerrit Updater [ 04/Feb/24 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/52192/
Subject: LU-17078 ldlm: do not spin up thread for local cancels
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 291ac6e6925e3bdf31f527de2bedf5f19706b230

Comment by Peter Jones [ 04/Feb/24 ]

Merged for 2.16

Generated at Sat Feb 10 03:32:27 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.