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

Regression in 005bd7075c LU-10391 lnet: Change lnet_send() to take large-addr nids

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Blocker
    • Lustre 2.15.0
    • Lustre 2.15.0
    • 3
    • 9223372036854775807

    Description

      Routed, source-any sends were broken by https://review.whamcloud.com/43599

      lnet_handle_find_routed_path() calls lnet_find_route_locked() passing LNET_NID_NET(src_nid) as an argument.

                      best_route = lnet_find_route_locked(best_rnet,
                                                          LNET_NID_NET(src_nid),
                                                          sd->sd_best_lpni,
                                                          &last_route, &gwni);
      

      This network ID is in turn passed to lnet_find_best_lpni() where it is compared against LNET_NET_ANY:

      static inline struct lnet_peer_ni *
      lnet_find_best_lpni(struct lnet_ni *lni, lnet_nid_t dst_nid,
                          struct lnet_peer *peer, __u32 net_id)
      {
              struct lnet_peer_net *peer_net;
      
              /* find the best_lpni on any local network */
              if (net_id == LNET_NET_ANY) {
      

      Where

      #define LNET_NET_ANY LNET_NIDNET(LNET_NID_ANY)
       == LNET_NIDNET(-1)
       == 0xffffffff
      

      In the case where a source NID was not specified, the network id passed to lnet_find_best_lpni() is equal to

      LNET_NID_NET(LNET_ANY_NID)
      

      Where:

      static inline __u32 LNET_NID_NET(const struct lnet_nid *nid)
      {
              return LNET_MKNET(nid->nid_type, __be16_to_cpu(nid->nid_num));
      }
      

      I think we need an "extended nid" version of LNET_NET_ANY (call it LNET_ANY_NET) such that

      #define LNET_ANY_NET LNET_NID_NET(&LNET_ANY_NID)
      

      or LNET_NID_NET could be modified to check for LNET_ANY_NID and return LNET_NET_ANY.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: