Details
-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
None
-
9223372036854775807
Description
Lustre advise IOCTL interface can set the CEF_LOCK_NO_EXPAND flag, which tells the OSC (the per OST layer of the client) to set LDLM_FL_NO_EXPANSION on any lock requests. LDLM_FL_NO_EXPANSION is a new LDLM lock flag which tells the server not to expand the lock extent.
To set this parameter much easier for benchmark or debug purpose, It would better to add a tunable "llite.*.lock_no_expand" to control whether to expand the lock extent for I/O.
Attachments
Issue Links
- is related to
-
LU-16939 ldlm: not expand the lock extent when the shared file is under lock contention
-
- Open
-
I just rebased Patrick's lock contention detection patch: https://review.whamcloud.com/#/c/fs/lustre-release/+/35287/.
We can use this patch to detect the lock contention on the OSS, and clients will be informed when the OST object is under lock contention.
Both client and server can determine to whether avoid lock expansion under lock contention.
Moreover, when the client was informed that the file is under contention, it can switch from default buffered I/O mode to direct I/O mode if the I/O size is large enough.