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

          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.

          Bruce, it is easier to review changes in the form of a patch. If you are just looking for comments and not landing, please add in the commit comment:

          Test-Parameters: fortestonly testlist=runtests
          

          so that it will run only the one test. We don't have a "don't test anything" marker yet.

          adilger Andreas Dilger added a comment - Bruce, it is easier to review changes in the form of a patch. If you are just looking for comments and not landing, please add in the commit comment: Test-Parameters: fortestonly testlist=runtests so that it will run only the one test. We don't have a "don't test anything" marker yet.

          an approximation of the new bit field code

          bkorb Bruce Korb (Inactive) added a comment - an approximation of the new bit field code

          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: