Details

    • Improvement
    • Resolution: Fixed
    • Major
    • Lustre 2.15.0
    • Lustre 2.15.0
    • 9223372036854775807

    Description

      When LSOM is not used at cluster it is better to disable it, I don't see such option for now.
      During analyze of MDS vmocre with high load avarage, we have found LSOM feature add big impact to it.
      205 threads were blocked with mdt_lsom_update(). A few threads got further and were waiting for the osd lock for read. It seems that mdt_lsom_update() has a serious issue with a single shared file because of its mdt-level mutex for every close request.

      Attachments

        Activity

          [LU-15252] option to disable LSOM updates

          "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/45709/
          Subject: LU-15252 mdt: reduce contention at mdt_lsom_update
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: c8b7afe4970415f8dae84f5e20661f8a3b3681a0

          gerrit Gerrit Updater added a comment - "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/45709/ Subject: LU-15252 mdt: reduce contention at mdt_lsom_update Project: fs/lustre-release Branch: master Current Patch Set: Commit: c8b7afe4970415f8dae84f5e20661f8a3b3681a0

          Still a second patch in flight that fixes the performance issue instead of working around it.

          adilger Andreas Dilger added a comment - Still a second patch in flight that fixes the performance issue instead of working around it.
          pjones Peter Jones added a comment -

          Landed for 2.15

          pjones Peter Jones added a comment - Landed for 2.15

          "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/45619/
          Subject: LU-15252 mdc: add client tunable to disable LSOM update
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: 19172ed37851fdd5731b1319c12151f5cb1fe267

          gerrit Gerrit Updater added a comment - "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/45619/ Subject: LU-15252 mdc: add client tunable to disable LSOM update Project: fs/lustre-release Branch: master Current Patch Set: Commit: 19172ed37851fdd5731b1319c12151f5cb1fe267

          "Alexander Boyko <alexander.boyko@hpe.com>" uploaded a new patch: https://review.whamcloud.com/45709
          Subject: LU-15252 mdt: reduce contention at mdt_lsom_update
          Project: fs/lustre-release
          Branch: master
          Current Patch Set: 1
          Commit: 495a7eb370cf9dbb5eec67bbd0a59ae206cdb68a

          gerrit Gerrit Updater added a comment - "Alexander Boyko <alexander.boyko@hpe.com>" uploaded a new patch: https://review.whamcloud.com/45709 Subject: LU-15252 mdt: reduce contention at mdt_lsom_update Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 495a7eb370cf9dbb5eec67bbd0a59ae206cdb68a

          aboyko, I think the LSOM update can be fairly lazy, and there isn't a serious danger if some updates are lost, but there should still be occasional writes of new LSOM data to disk:

          • if the inode is being written already for some other reason (e.g. atime update, link count, etc.)
          • after some long time since the last LSOM update (e.g. 60s, like atime_diff). maybe LSOM and atime writes will happen at the same time?
          • when the last client closes the file, including when the client is evicted

          My main concern would be that files which are never properly closed will also never get LSOM updates. That could happen with config files or shared libraries for jobs that run a very long time, and/or files that are being accessed by different jobs and always have some client process holding them open.

          adilger Andreas Dilger added a comment - aboyko , I think the LSOM update can be fairly lazy, and there isn't a serious danger if some updates are lost, but there should still be occasional writes of new LSOM data to disk: if the inode is being written already for some other reason (e.g. atime update, link count, etc.) after some long time since the last LSOM update (e.g. 60s, like atime_diff ). maybe LSOM and atime writes will happen at the same time? when the last client closes the file, including when the client is evicted My main concern would be that files which are never properly closed will also never get LSOM updates. That could happen with config files or shared libraries for jobs that run a very long time, and/or files that are being accessed by different jobs and always have some client process holding them open.

          People

            aboyko Alexander Boyko
            aboyko Alexander Boyko
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: