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

Refactor lnet_select_pathway and lnet_peer_ni ref counting

Details

    • Improvement
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • None
    • 9223372036854775807

    Description

      lnet_select_pathway() contains a fair amount of duplicated code. I took a stab at refactoring this function and I believe I have a functionally equivalent implementation with about half as much code.

      During that process I noted that the lnet_nid2peerni_locked() function takes a ref on the lnet_peer_ni
      object that it returns, however most callers of this function do not need this reference as they hold a net lock when referencing the lnet_peer_ni. So some additonal code removal is possible here as well.

      Attachments

        Activity

          [LU-12756] Refactor lnet_select_pathway and lnet_peer_ni ref counting

          Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36540/
          Subject: LU-12756 lnet: Remove unnecessary rtr_nid argument
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: 357fa4a84f4bb0a0b54f176ab8e2d4f59be80bb6

          gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36540/ Subject: LU-12756 lnet: Remove unnecessary rtr_nid argument Project: fs/lustre-release Branch: master Current Patch Set: Commit: 357fa4a84f4bb0a0b54f176ab8e2d4f59be80bb6

          Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36540/
          Subject: LU-12756 lnet: Remove unnecessary rtr_nid argument
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: 01286ba81ce93e05e5e61c8346c80c74deb29d32

          gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36540/ Subject: LU-12756 lnet: Remove unnecessary rtr_nid argument Project: fs/lustre-release Branch: master Current Patch Set: Commit: 01286ba81ce93e05e5e61c8346c80c74deb29d32

          Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36539/
          Subject: LU-12756 lnet: Introduce lnet_msg_is_response
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: ef20f5e84e5457397da5b0e086c42ce6b79e2574

          gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36539/ Subject: LU-12756 lnet: Introduce lnet_msg_is_response Project: fs/lustre-release Branch: master Current Patch Set: Commit: ef20f5e84e5457397da5b0e086c42ce6b79e2574

          Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36538/
          Subject: LU-12756 lnet: Refactor lnet_find_existing_preferred_best_ni
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: ef7c4021c03c6b2b300b9075bf60d2be7d66784a

          gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36538/ Subject: LU-12756 lnet: Refactor lnet_find_existing_preferred_best_ni Project: fs/lustre-release Branch: master Current Patch Set: Commit: ef7c4021c03c6b2b300b9075bf60d2be7d66784a

          Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36537/
          Subject: LU-12756 lnet: Refactor lnet_set_non_mr_pref_nid
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: ce442253a719a065bf85e0202546a3afd4a38524

          gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36537/ Subject: LU-12756 lnet: Refactor lnet_set_non_mr_pref_nid Project: fs/lustre-release Branch: master Current Patch Set: Commit: ce442253a719a065bf85e0202546a3afd4a38524

          Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36621/
          Subject: LU-12756 lnet: Refactor lnet_compare_routes
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: e02287b4ef6a30e9e23a84012d8a133621ea454e

          gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36621/ Subject: LU-12756 lnet: Refactor lnet_compare_routes Project: fs/lustre-release Branch: master Current Patch Set: Commit: e02287b4ef6a30e9e23a84012d8a133621ea454e

          Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36620/
          Subject: LU-12756 lnet: Remove unused vars in lnet_find_route_locked
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: b129f7b1f76a716c656627beb271de58e6af473c

          gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36620/ Subject: LU-12756 lnet: Remove unused vars in lnet_find_route_locked Project: fs/lustre-release Branch: master Current Patch Set: Commit: b129f7b1f76a716c656627beb271de58e6af473c

          Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36536/
          Subject: LU-12756 lnet: Avoid extra lnet_remotenet lookup
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: 3812c54b9ca3cc08be947f893bdf55a41aa876ed

          gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36536/ Subject: LU-12756 lnet: Avoid extra lnet_remotenet lookup Project: fs/lustre-release Branch: master Current Patch Set: Commit: 3812c54b9ca3cc08be947f893bdf55a41aa876ed

          Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36535/
          Subject: LU-12756 lnet: Avoid comparing route to itself
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: 2b8d9d12d182fc91d671558434cc0b652c1ade21

          gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36535/ Subject: LU-12756 lnet: Avoid comparing route to itself Project: fs/lustre-release Branch: master Current Patch Set: Commit: 2b8d9d12d182fc91d671558434cc0b652c1ade21

          Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36534/
          Subject: LU-12756 lnet: Refactor lnet_find_best_lpni_on_net
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: 80edb2ad72baf9b096e03f2929b8b018b0a630d2

          gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36534/ Subject: LU-12756 lnet: Refactor lnet_find_best_lpni_on_net Project: fs/lustre-release Branch: master Current Patch Set: Commit: 80edb2ad72baf9b096e03f2929b8b018b0a630d2

          @Chris - my vote to add some performance testing against that series.
          As I see, it have touched a sort of hot code. So I think we need to add performance evaluation as similar as we have with MR routing testing.
          workload is same for all tests - mdtest + IOR with small record size (4k-8k).
          1) new code on server
          2) new code on routers also -
          3) all nodes have same code.

          shadow Alexey Lyashkov added a comment - @Chris - my vote to add some performance testing against that series. As I see, it have touched a sort of hot code. So I think we need to add performance evaluation as similar as we have with MR routing testing. workload is same for all tests - mdtest + IOR with small record size (4k-8k). 1) new code on server 2) new code on routers also - 3) all nodes have same code.

          People

            hornc Chris Horn
            hornc Chris Horn
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: