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

Enable folio allocation support on the buffed io read/write path (BIO)

Details

    • Improvement
    • Resolution: Unresolved
    • Minor
    • Lustre 2.17.0
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      When support for folios are added to generic_perform_write() we can enable folio based allocations without re-writing the lustre i/o path to use iomap:

      https://www.spinics.net/lists/linux-nfs/msg104002.html
      Updated patch:
      https://lore.kernel.org/linux-fsdevel/20240527163616.1135968-2-hch@lst.de/
      Depends on (landed for v6.9):
      https://patchwork.kernel.org/project/linux-fsdevel/patch/20240521114939.2541461-1-xu.yang_2@nxp.com/

      This is tested for NFS
      https://www.spinics.net/lists/linux-nfs/msg104003.html

      suggesting this alone is enough for a 2x improvement in buffered i/o.

      Update lustre to use the folio allocation ie: __filemap_get_folio() instead of the grab_cache_page* family.

      Provide a __filemap_get_folio() implementation for compatibility with older kernels.

      Assuming no large regressions this should be available in kernel v6.11:
      Linux kernel commit: v6.10-rc7-2-g9aac777aaf945
      filemap: Convert generic_perform_write() to support large folios

      Attachments

        Issue Links

          Activity

            [LU-17916] Enable folio allocation support on the buffed io read/write path (BIO)

            "Shaun Tancheff <shaun.tancheff@hpe.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/58247
            Subject: LU-17916 osc: switch to struct folio
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 5ff7d51d97ce0b9d602e52a8170865c15d7d5ddd

            gerrit Gerrit Updater added a comment - "Shaun Tancheff <shaun.tancheff@hpe.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/58247 Subject: LU-17916 osc: switch to struct folio Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 5ff7d51d97ce0b9d602e52a8170865c15d7d5ddd

            "Shaun Tancheff <shaun.tancheff@hpe.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/58097
            Subject: LU-17916 llite: switch to struct folio
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 8d2836b0e47dff508e2616c33174015d22ed7349

            gerrit Gerrit Updater added a comment - "Shaun Tancheff <shaun.tancheff@hpe.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/58097 Subject: LU-17916 llite: switch to struct folio Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 8d2836b0e47dff508e2616c33174015d22ed7349

            "Shaun Tancheff <shaun.tancheff@hpe.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/57124
            Subject: LU-17916 osd-ldiskfs: folio write support
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 6e801a92fe25e729b097cdc3a42bc713a814530e

            gerrit Gerrit Updater added a comment - "Shaun Tancheff <shaun.tancheff@hpe.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/57124 Subject: LU-17916 osd-ldiskfs: folio write support Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 6e801a92fe25e729b097cdc3a42bc713a814530e

            "Shaun Tancheff <shaun.tancheff@hpe.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/55982
            Subject: LU-17916 llite: large folio allocation option
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: e37acb2cadf176754fd03cda21953bccc222a24f

            gerrit Gerrit Updater added a comment - "Shaun Tancheff <shaun.tancheff@hpe.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/55982 Subject: LU-17916 llite: large folio allocation option Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: e37acb2cadf176754fd03cda21953bccc222a24f

            Tested with patched 6.6.13 kernel: https://github.com/stancheff/linux/tree/v6.6.13-3

            stancheff Shaun Tancheff added a comment - Tested with patched 6.6.13 kernel: https://github.com/stancheff/linux/tree/v6.6.13-3
            stancheff Shaun Tancheff added a comment - - edited

            Attached 0001-filemap-add-helper-mapping_max_folio_size.patch and 0002-filemap-Convert-generic_perform_write-to-support-lar.patch which can be applied to a 6.6 and later kernel to (safely) enable large folio support.

            NOTE: Kernels v6.9 and later already have 0001-filemap-add-helper-mapping_max_folio_size.patch

            stancheff Shaun Tancheff added a comment - - edited Attached 0001-filemap-add-helper-mapping_max_folio_size.patch and 0002-filemap-Convert-generic_perform_write-to-support-lar.patch which can be applied to a 6.6 and later kernel to (safely) enable large folio support. NOTE: Kernels v6.9 and later already have 0001-filemap-add-helper-mapping_max_folio_size.patch

            "Shaun Tancheff <shaun.tancheff@hpe.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/55373
            Subject: LU-17916 llite: prefer __filemap_get_folio
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 1da8bf55445d3a97b5cd50eca67a1e731115729a

            gerrit Gerrit Updater added a comment - "Shaun Tancheff <shaun.tancheff@hpe.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/55373 Subject: LU-17916 llite: prefer __filemap_get_folio Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 1da8bf55445d3a97b5cd50eca67a1e731115729a
            gerrit Gerrit Updater added a comment - - edited

            Abandoned patch

            gerrit Gerrit Updater added a comment - - edited Abandoned patch

            People

              stancheff Shaun Tancheff
              stancheff Shaun Tancheff
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated: