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

mmap readahead: Ignore retried faults (VM_FAULT_RETRY)

Details

    • Improvement
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • None
    • 9223372036854775807

    Description

      When filemap_fault finds a page which is already locked, it returns VM_FAULT_RETRY.  This can happen quite commonly if a page is being read in by readahead when we go to read it.  This means we never call readpage for that fault.

      The fault will generally be retried from the kernel (outside of Lustre), which looks like a brand new mmap fault to Lustre, so that's fine, but this can confuse readahead, because we will call ll_ras_enter, but never call ras_update.  This throws off the readahead algorithm.

      The answer is to move the ll_ras_enter call in to ll_readpage.  This depends on the mmap readahead simplification from LU-15516.

      Attachments

        Activity

          [LU-15518] mmap readahead: Ignore retried faults (VM_FAULT_RETRY)

          "Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/46459
          Subject: LU-15518 llite: mmap readahead: ignore retries
          Project: fs/lustre-release
          Branch: master
          Current Patch Set: 1
          Commit: 90eba2f5b5c575bb8da9a901c75e8f0dcd518ea5

          gerrit Gerrit Updater added a comment - "Patrick Farrell <pfarrell@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/46459 Subject: LU-15518 llite: mmap readahead: ignore retries Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 90eba2f5b5c575bb8da9a901c75e8f0dcd518ea5
          paf0186 Patrick Farrell created issue -

          People

            paf0186 Patrick Farrell
            paf0186 Patrick Farrell
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: