Details

    • 6713

    Description

      There is an 8 byte write only field and some separated flag bits that trigger another 8 bytes of extra alignment padding that are not necessary. There are also a couple of fields that are only used on the server side and others only used on the client side. These fields could be overlaid, with 24 bytes easily saved. This is important on systems where 100's of thousands of these structures get allocated.

      My first comment will show one approach for coalescing all the flag bits into a single 64 bit flag word.

      Attachments

        Activity

          [LU-2771] Wasted space in ldlm_lock structure

          "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/49563/
          Subject: LU-2771 ldlm: remove obsolete LDLM_FL_SERVER_LOCK
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: cb0aa0285b32fb432fc484cfd44e6e6e789c1025

          gerrit Gerrit Updater added a comment - "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/49563/ Subject: LU-2771 ldlm: remove obsolete LDLM_FL_SERVER_LOCK Project: fs/lustre-release Branch: master Current Patch Set: Commit: cb0aa0285b32fb432fc484cfd44e6e6e789c1025

          "Andreas Dilger <adilger@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/49563
          Subject: LU-2771 ldlm: remove obsolete LDLM_FL_SERVER_LOCK
          Project: fs/lustre-release
          Branch: master
          Current Patch Set: 1
          Commit: b045e816a75667e931af60214811c7476202a3f0

          gerrit Gerrit Updater added a comment - "Andreas Dilger <adilger@whamcloud.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/49563 Subject: LU-2771 ldlm: remove obsolete LDLM_FL_SERVER_LOCK Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: b045e816a75667e931af60214811c7476202a3f0

          5312 has been merged into Master.

          keith Keith Mannthey (Inactive) added a comment - 5312 has been merged into Master.

          Thanks for link to the macro work.

          keith Keith Mannthey (Inactive) added a comment - Thanks for link to the macro work.

          LU-2906 was opened to track replacing direct bit fiddling operations with accessor macros.

          bkorb Bruce Korb (Inactive) added a comment - LU-2906 was opened to track replacing direct bit fiddling operations with accessor macros.
          bkorb Bruce Korb (Inactive) added a comment - - edited
          Artem Blagodarenko		12:28 AM
          Patch Set 13:
          Bruce, please, re-submit the patch, because LU-2988 was submitted after your testing is failed. Thanks.

          14 15 coming up. It will get installed before it gets obsolete this time, I am sure.

          http://review.whamcloud.com/#change,5312 – Patch Set 14 15

          bkorb Bruce Korb (Inactive) added a comment - - edited Artem Blagodarenko 12:28 AM Patch Set 13: Bruce, please, re-submit the patch, because LU-2988 was submitted after your testing is failed. Thanks. 14 15 coming up. It will get installed before it gets obsolete this time, I am sure. http://review.whamcloud.com/#change,5312 – Patch Set 14 15

          Andreas Dilger Mar 4

          Patch Set 8: Looks good to me, approved

          (3 inline comments)

          Some minor style issues if patch is refreshed

          Maloo Mar 9

          Patch Set 8: Verified

          Tests received by maloo, run on CentOS release 6.3/x86_64: (https://maloo.whamcloud.com/test_sessions/ce9b01e0-88ba-11e2-b643-52540035b04c). Ran 12 tests. No failures.

          bkorb Bruce Korb (Inactive) added a comment - Andreas Dilger Mar 4 Patch Set 8: Looks good to me, approved (3 inline comments) Some minor style issues if patch is refreshed Maloo Mar 9 Patch Set 8: Verified Tests received by maloo, run on CentOS release 6.3/x86_64: ( https://maloo.whamcloud.com/test_sessions/ce9b01e0-88ba-11e2-b643-52540035b04c ). Ran 12 tests. No failures.

          That's right - I remember: error: excess elements in struct initializer

          There was more to it than just removing an assignment. There were the initializers, too.
          Tomorrow.

          bkorb Bruce Korb (Inactive) added a comment - That's right - I remember: error: excess elements in struct initializer There was more to it than just removing an assignment. There were the initializers, too. Tomorrow.
          bkorb Bruce Korb (Inactive) added a comment - - edited

          http://review.whamcloud.com/#change,5312 – Patch Set 11: No score
          trying a new review

          bkorb Bruce Korb (Inactive) added a comment - - edited http://review.whamcloud.com/#change,5312 – Patch Set 11: No score trying a new review
          bkorb Bruce Korb (Inactive) added a comment - - edited

          OK, coming. That generated header was sufficiently preliminary that I was not sure it would compile even. Actually, I'd guess it would not. But the approach is visible. Another 30-60 minutes, and I should have something that compiles.

          And I've removed the osc_ldlm_weigh_ast() -> ei_cb_wg -> lcs_weigh -> dead store in l_weigh_ast chain.

          bkorb Bruce Korb (Inactive) added a comment - - edited OK, coming. That generated header was sufficiently preliminary that I was not sure it would compile even. Actually, I'd guess it would not. But the approach is visible. Another 30-60 minutes, and I should have something that compiles. And I've removed the osc_ldlm_weigh_ast() -> ei_cb_wg -> lcs_weigh -> dead store in l_weigh_ast chain.

          People

            keith Keith Mannthey (Inactive)
            bkorb Bruce Korb (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: