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

mmap reads may not correctly update LDLM extent lock usage

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      It appears that if an application opens a large file and only does mmap reads on the file (without any close/open/stat) that the OST extent locks will never be touched and possibly be evicted by the client LRU because they are considered "unused"? It seems like this could happen for some applications doing only mmap IO, or binary executables and libraries stored in Lustre that are only accessed via mmap.

      That would potentially result in the client having to repeatedly re-read data pages from the OST if the DLM lock is cancelled and flushes the cache, and cause significant operational latency for the running application as it pauses execution while the page is fetched. This seems related to the issue being fixed by LU-17463 where the mlocked pages are being dropped because the DLM locks covering those pages are aging out of the LRU rather than being refreshed each time the mmap page is accessed.

      That appears to be happening because small mmap requests would fall under "short IO" and the LDLM lock covering a page already in cache is not accessed, on the assumption that if a page is already in cache it means there is a DLM extent lock already covering it.

      Attachments

        Issue Links

          Activity

            People

              wc-triage WC Triage
              adilger Andreas Dilger
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: