[LU-3583] LDLM support for atomic match_or_enqueue operation Created: 14/Jul/13  Updated: 15/Jul/13

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.5.0
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: Andrew Perepechko Assignee: WC Triage
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Related
is related to LU-2869 extended attribute cache for Lustre Resolved
Rank (Obsolete): 9080

 Description   

During inspection of LU-2869 I was asked to file a ticket to track this problem in the future.

The issue is that client-side LDLM does not have support for atomic match_or_enqueue operations. This may cause several lock enqueue requests being issued in parallel by a single client causing lock ping-pongs.

It looks like different parts of Lustre code either ignore this problem or solve it in a specific way. For example, ll_layout_refresh() implements the atomic operation by serializing requests with lli_layout_mutex. The extended attribute cache patch uses the same technique with lli_xattrs_enq_lock().



 Comments   
Comment by Andrew Perepechko [ 14/Jul/13 ]

It should probably be implemented as part of LDLM API.

Generated at Sat Feb 10 01:35:09 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.