Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-3583

LDLM support for atomic match_or_enqueue operation

Details

    • Improvement
    • Resolution: Unresolved
    • Minor
    • None
    • Lustre 2.5.0
    • None
    • 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().

      Attachments

        Issue Links

          Activity

            [LU-3583] LDLM support for atomic match_or_enqueue operation
            adilger Andreas Dilger made changes -
            Affects Version/s New: Lustre 2.5.0 [ 10295 ]
            Affects Version/s Original: Lustre 2.4.1 [ 10294 ]
            adilger Andreas Dilger made changes -
            Link New: This issue is related to LU-2869 [ LU-2869 ]
            panda Andrew Perepechko created issue -

            People

              wc-triage WC Triage
              panda Andrew Perepechko
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: