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

a performance regression on the single stream write

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.14.0
    • None
    • None
    • master(commit:2c0b2b7), CentOS8.1
    • 3
    • 9223372036854775807

    Description

      The latest master(commit:2c0b2b7) has a performance regression on the single stream write below.

      test node: Xeon(R) Gold 5218 CPU @ 2.30GHz, 96GB memory, 1 x HDR-100
      lustre params: osc.*.max_pages_per_rpc=16M osc.*.max_rpcs_in_flight=16 osc.*.max_dirty_mb=512 llite.*.max_read_ahead_mb=2048 osc.*.checksums=0
      
      # ior -w -t 1m -b 192g -e -o /scratch/testdir/file
      master(commit:2c0b2b7)
      Max Write: 799.98 MiB/sec (838.84 MB/sec)
      
      2.13.0
      Max Write: 2268.02 MiB/sec (2378.19 MB/sec)
      

      Attachments

        Issue Links

          Activity

            [LU-13288] a performance regression on the single stream write

            Jian Yu (yujian@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/40355
            Subject: LU-13288 llite: Find account_page_dirtied on module init
            Project: fs/lustre-release
            Branch: b2_12
            Current Patch Set: 1
            Commit: c7d0ca8cdba8917de4470d0f478345d6500c5c9e

            gerrit Gerrit Updater added a comment - Jian Yu (yujian@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/40355 Subject: LU-13288 llite: Find account_page_dirtied on module init Project: fs/lustre-release Branch: b2_12 Current Patch Set: 1 Commit: c7d0ca8cdba8917de4470d0f478345d6500c5c9e
            pjones Peter Jones added a comment -

            Landed for 2.14

            pjones Peter Jones added a comment - Landed for 2.14

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/37686/
            Subject: LU-13288 llite: Find account_page_dirtied on module init
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 788e464a7215e09987e05eeeeac107642e80cea5

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/37686/ Subject: LU-13288 llite: Find account_page_dirtied on module init Project: fs/lustre-release Branch: master Current Patch Set: Commit: 788e464a7215e09987e05eeeeac107642e80cea5

            Shaun Tancheff (shaun.tancheff@hpe.com) uploaded a new patch: https://review.whamcloud.com/37686
            Subject: LU-13288 llite: Re-export account_page_dirtied
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 0da283be3407ac50ea1cfaafe5e5510a34ce3773

            gerrit Gerrit Updater added a comment - Shaun Tancheff (shaun.tancheff@hpe.com) uploaded a new patch: https://review.whamcloud.com/37686 Subject: LU-13288 llite: Re-export account_page_dirtied Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 0da283be3407ac50ea1cfaafe5e5510a34ce3773

            The function pointer should just be named "account_page_dirtied" and then the function can be used as normal within the code.

            adilger Andreas Dilger added a comment - The function pointer should just be named " account_page_dirtied " and then the function can be used as normal within the code.

            Wang Shilong (wshilong@ddn.com) uploaded a new patch: https://review.whamcloud.com/37682
            Subject: LU-13288 llite: avoid symbol_get() in ll_account_page_dirtied()
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 1b95bfcb6e17b3f33b7f94adcae4a3d7c8dbf9d6

            gerrit Gerrit Updater added a comment - Wang Shilong (wshilong@ddn.com) uploaded a new patch: https://review.whamcloud.com/37682 Subject: LU-13288 llite: avoid symbol_get() in ll_account_page_dirtied() Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 1b95bfcb6e17b3f33b7f94adcae4a3d7c8dbf9d6

            It looks heavy to call symbol_get() every time, we could just call it once during module init time and then use it evey time.

            wshilong Wang Shilong (Inactive) added a comment - It looks heavy to call symbol_get() every time, we could just call it once during module init time and then use it evey time.

            'git bitsect' tells us the following patch causes problem.

            Author: Shaun Tancheff <stancheff@cray.com>
            Date:   Fri Oct 25 15:11:37 2019 -0500
            
                LU-12904 build: account_page_dirtied is not exported
                
                Linux 5.2 does not export account_page_dirtied
                mm: remove the account_page_dirtied export
                
                Use symbol_get() to access account_page_dirtied for Lustre
                
                kernel-commit: ac1c3e49a9a734150b33297eeca5b43d92fd5be8
            

            Here is a single thread perforamnce before and after this commit and I've confirmed regression started from commit c38ab030d0 and at least centos8.1 client.

            c38ab030d0 LU-12904 build: account_page_dirtied is not exported
            # ior -w -t 1m -b 192g -e -o /scratch/testdir/file
            
            Max Write: 802.32 MiB/sec (841.30 MB/sec)
            
            998a494fa9 LU-12861 libcfs: provide an scnprintf and start using it
            # ior -w -t 1m -b 192g -e -o /scratch/testdir/file
            
            Max Write: 2253.32 MiB/sec (2362.78 MB/sec)
            
            
            sihara Shuichi Ihara added a comment - 'git bitsect' tells us the following patch causes problem. Author: Shaun Tancheff <stancheff@cray.com> Date: Fri Oct 25 15:11:37 2019 -0500 LU-12904 build: account_page_dirtied is not exported Linux 5.2 does not export account_page_dirtied mm: remove the account_page_dirtied export Use symbol_get() to access account_page_dirtied for Lustre kernel-commit: ac1c3e49a9a734150b33297eeca5b43d92fd5be8 Here is a single thread perforamnce before and after this commit and I've confirmed regression started from commit c38ab030d0 and at least centos8.1 client. c38ab030d0 LU-12904 build: account_page_dirtied is not exported # ior -w -t 1m -b 192g -e -o /scratch/testdir/file Max Write: 802.32 MiB/sec (841.30 MB/sec) 998a494fa9 LU-12861 libcfs: provide an scnprintf and start using it # ior -w -t 1m -b 192g -e -o /scratch/testdir/file Max Write: 2253.32 MiB/sec (2362.78 MB/sec)

            People

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

              Dates

                Created:
                Updated:
                Resolved: