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

optimize ll_md_blocking_ast() for a failed lock

    XMLWordPrintable

Details

    • 3
    • 9223372036854775807

    Description

      When investigating performance issues with LU-4398, we've found that if the MDS does not return a lock for an open request, ll_md_blocking_ast() will be called for a failed UPDATE lock on the corresponding directory. ll_invalidate_negative_children() will process the whole cache associated with the directory in order to find negative entries and invalidate them.

      If a directory has millions of cached dentries, ll_invalidate_negative_children() spends several scheduler ticks just to process the list. There is clearly some room for ll_invalidate_negative_children() optimization, but we'd like to optimize at least ll_md_blocking_ast() to avoid processing for not granted locks.

      A patch will be uploaded shortly.

      Attachments

        Activity

          People

            panda Andrew Perepechko
            panda Andrew Perepechko
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: