Whamcloud - gitweb
LU-13004 lnet: remove msg_iov from lnet_msg. 44/37844/7
authorMr NeilBrown <neilb@suse.de>
Wed, 4 Dec 2019 04:19:52 +0000 (15:19 +1100)
committerOleg Drokin <green@whamcloud.com>
Fri, 1 May 2020 04:26:59 +0000 (04:26 +0000)
This field is never set, so remove it and remove all uses of it.

Conversely, msg_kiov is always non-NULL, so remove code that depends
on it being NULL.

Test-Parameters: trivial
Signed-off-by: Mr NeilBrown <neilb@suse.de>
Change-Id: I4c5e98bd54a463ed62ea8d06b9781aa8b4e96f50
Reviewed-on: https://review.whamcloud.com/37844
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lnet/include/lnet/lib-types.h
lnet/klnds/gnilnd/gnilnd_cb.c
lnet/klnds/o2iblnd/o2iblnd_cb.c
lnet/klnds/socklnd/socklnd_cb.c
lnet/lnet/lib-move.c
lnet/lnet/lo.c

index 872c0d4..b79e01a 100644 (file)
@@ -167,7 +167,6 @@ struct lnet_msg {
        unsigned int          msg_wanted;
        unsigned int          msg_offset;
        unsigned int          msg_niov;
-       struct kvec          *msg_iov;
        struct bio_vec       *msg_kiov;
 
        struct lnet_event       msg_ev;
index 97b8618..598eecd 100644 (file)
@@ -2118,7 +2118,6 @@ kgnilnd_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
        int               target_is_router = lntmsg->msg_target_is_router;
        int               routing = lntmsg->msg_routing;
        unsigned int      niov = lntmsg->msg_niov;
-       struct kvec      *iov = lntmsg->msg_iov;
        struct bio_vec   *kiov = lntmsg->msg_kiov;
        unsigned int      offset = lntmsg->msg_offset;
        unsigned int      nob = lntmsg->msg_len;
@@ -2140,10 +2139,6 @@ kgnilnd_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
        LASSERTF(niov <= LNET_MAX_IOV,
                "lntmsg %p niov %d\n", lntmsg, niov);
 
-       /* payload is either all vaddrs or all pages */
-       LASSERTF(!(kiov != NULL && iov != NULL),
-               "lntmsg %p kiov %p iov %p\n", lntmsg, kiov, iov);
-
        if (msg_vmflush)
                mpflag = cfs_memory_pressure_get_and_set();
 
@@ -2228,7 +2223,8 @@ kgnilnd_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
                        goto out;
                }
 
-               rc = kgnilnd_setup_rdma_buffer(tx, niov, iov, kiov, offset, nob);
+               rc = kgnilnd_setup_rdma_buffer(tx, niov, NULL,
+                                              kiov, offset, nob);
                if (rc != 0) {
                        kgnilnd_tx_done(tx, rc);
                        rc = -EIO;
@@ -2257,7 +2253,7 @@ kgnilnd_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
                goto out;
        }
 
-       rc = kgnilnd_setup_immediate_buffer(tx, niov, iov, kiov, offset, nob);
+       rc = kgnilnd_setup_immediate_buffer(tx, niov, NULL, kiov, offset, nob);
        if (rc != 0) {
                kgnilnd_tx_done(tx, rc);
                goto out;
@@ -2280,7 +2276,6 @@ kgnilnd_setup_rdma(struct lnet_ni *ni, kgn_rx_t *rx, struct lnet_msg *lntmsg, in
        kgn_conn_t    *conn = rx->grx_conn;
        kgn_msg_t     *rxmsg = rx->grx_msg;
        unsigned int   niov = lntmsg->msg_niov;
-       struct kvec   *iov = lntmsg->msg_iov;
        struct bio_vec *kiov = lntmsg->msg_kiov;
        unsigned int   offset = lntmsg->msg_offset;
        unsigned int   nob = lntmsg->msg_len;
@@ -2311,7 +2306,7 @@ kgnilnd_setup_rdma(struct lnet_ni *ni, kgn_rx_t *rx, struct lnet_msg *lntmsg, in
        if (rc != 0)
                goto failed_1;
 
-       rc = kgnilnd_setup_rdma_buffer(tx, niov, iov, kiov, offset, nob);
+       rc = kgnilnd_setup_rdma_buffer(tx, niov, NULL, kiov, offset, nob);
        if (rc != 0)
                goto failed_1;
 
index c107985..311708a 100644 (file)
@@ -1645,7 +1645,6 @@ kiblnd_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
        int               target_is_router = lntmsg->msg_target_is_router;
        int               routing = lntmsg->msg_routing;
        unsigned int      payload_niov = lntmsg->msg_niov;
-       struct kvec      *payload_iov = lntmsg->msg_iov;
        struct bio_vec   *payload_kiov = lntmsg->msg_kiov;
        unsigned int      payload_offset = lntmsg->msg_offset;
        unsigned int      payload_nob = lntmsg->msg_len;
@@ -1665,8 +1664,6 @@ kiblnd_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
 
        /* Thread context */
        LASSERT (!in_interrupt());
-       /* payload is either all vaddrs or all pages */
-       LASSERT (!(payload_kiov != NULL && payload_iov != NULL));
 
        switch (type) {
        default:
@@ -1741,14 +1738,9 @@ kiblnd_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
                         return -ENOMEM;
                 }
 
-                if (payload_kiov == NULL)
-                        rc = kiblnd_setup_rd_iov(ni, tx, tx->tx_rd,
-                                                 payload_niov, payload_iov,
-                                                 payload_offset, payload_nob);
-                else
-                        rc = kiblnd_setup_rd_kiov(ni, tx, tx->tx_rd,
-                                                  payload_niov, payload_kiov,
-                                                  payload_offset, payload_nob);
+               rc = kiblnd_setup_rd_kiov(ni, tx, tx->tx_rd,
+                                         payload_niov, payload_kiov,
+                                         payload_offset, payload_nob);
                if (rc != 0) {
                        CERROR("Can't setup PUT src for %s: %d\n",
                               libcfs_nid2str(target.nid), rc);
@@ -1782,16 +1774,11 @@ kiblnd_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
         ibmsg = tx->tx_msg;
         ibmsg->ibm_u.immediate.ibim_hdr = *hdr;
 
-        if (payload_kiov != NULL)
-                lnet_copy_kiov2flat(IBLND_MSG_SIZE, ibmsg,
-                                   offsetof(struct kib_msg, ibm_u.immediate.ibim_payload),
-                                    payload_niov, payload_kiov,
-                                    payload_offset, payload_nob);
-        else
-                lnet_copy_iov2flat(IBLND_MSG_SIZE, ibmsg,
-                                  offsetof(struct kib_msg, ibm_u.immediate.ibim_payload),
-                                   payload_niov, payload_iov,
-                                   payload_offset, payload_nob);
+       lnet_copy_kiov2flat(IBLND_MSG_SIZE, ibmsg,
+                           offsetof(struct kib_msg,
+                                    ibm_u.immediate.ibim_payload),
+                           payload_niov, payload_kiov,
+                           payload_offset, payload_nob);
 
        nob = offsetof(struct kib_immediate_msg, ibim_payload[payload_nob]);
         kiblnd_init_tx_msg(ni, tx, IBLND_MSG_IMMEDIATE, nob);
@@ -1805,13 +1792,12 @@ static void
 kiblnd_reply(struct lnet_ni *ni, struct kib_rx *rx, struct lnet_msg *lntmsg)
 {
        struct lnet_process_id target = lntmsg->msg_target;
-       unsigned int      niov = lntmsg->msg_niov;
-       struct kvec      *iov = lntmsg->msg_iov;
-       struct bio_vec   *kiov = lntmsg->msg_kiov;
-       unsigned int      offset = lntmsg->msg_offset;
-       unsigned int      nob = lntmsg->msg_len;
+       unsigned int niov = lntmsg->msg_niov;
+       struct bio_vec *kiov = lntmsg->msg_kiov;
+       unsigned int offset = lntmsg->msg_offset;
+       unsigned int nob = lntmsg->msg_len;
        struct kib_tx *tx;
-       int               rc;
+       int rc;
 
        tx = kiblnd_get_idle_tx(ni, rx->rx_conn->ibc_peer->ibp_nid);
         if (tx == NULL) {
@@ -1822,9 +1808,6 @@ kiblnd_reply(struct lnet_ni *ni, struct kib_rx *rx, struct lnet_msg *lntmsg)
 
         if (nob == 0)
                 rc = 0;
-        else if (kiov == NULL)
-                rc = kiblnd_setup_rd_iov(ni, tx, tx->tx_rd,
-                                         niov, iov, offset, nob);
         else
                 rc = kiblnd_setup_rd_kiov(ni, tx, tx->tx_rd,
                                           niov, kiov, offset, nob);
index 8439652..de5773c 100644 (file)
@@ -985,14 +985,13 @@ ksocknal_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
        int mpflag = 1;
        int type = lntmsg->msg_type;
        struct lnet_process_id target = lntmsg->msg_target;
-       unsigned int     payload_niov = lntmsg->msg_niov;
-       struct kvec *payload_iov = lntmsg->msg_iov;
-       struct bio_vec  *payload_kiov = lntmsg->msg_kiov;
-       unsigned int     payload_offset = lntmsg->msg_offset;
-       unsigned int     payload_nob = lntmsg->msg_len;
-       struct ksock_tx *tx;
-       int              desc_size;
-       int              rc;
+       unsigned int payload_niov = lntmsg->msg_niov;
+       struct bio_vec *payload_kiov = lntmsg->msg_kiov;
+       unsigned int payload_offset = lntmsg->msg_offset;
+       unsigned int payload_nob = lntmsg->msg_len;
+       struct ksock_tx *tx;
+       int desc_size;
+       int rc;
 
         /* NB 'private' is different depending on what we're sending.
          * Just ignore it... */
@@ -1002,16 +1001,10 @@ ksocknal_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
 
        LASSERT (payload_nob == 0 || payload_niov > 0);
        LASSERT (payload_niov <= LNET_MAX_IOV);
-       /* payload is either all vaddrs or all pages */
-       LASSERT (!(payload_kiov != NULL && payload_iov != NULL));
        LASSERT (!in_interrupt ());
 
-       if (payload_iov != NULL)
-               desc_size = offsetof(struct ksock_tx,
-                                    tx_frags.virt.iov[1 + payload_niov]);
-       else
-               desc_size = offsetof(struct ksock_tx,
-                                    tx_frags.paged.kiov[payload_niov]);
+       desc_size = offsetof(struct ksock_tx,
+                            tx_frags.paged.kiov[payload_niov]);
 
         if (lntmsg->msg_vmflush)
                 mpflag = cfs_memory_pressure_get_and_set();
@@ -1024,28 +1017,18 @@ ksocknal_send(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg)
                 return (-ENOMEM);
         }
 
-        tx->tx_conn = NULL;                     /* set when assigned a conn */
-        tx->tx_lnetmsg = lntmsg;
-
-        if (payload_iov != NULL) {
-                tx->tx_kiov = NULL;
-                tx->tx_nkiov = 0;
-                tx->tx_iov = tx->tx_frags.virt.iov;
-                tx->tx_niov = 1 +
-                              lnet_extract_iov(payload_niov, &tx->tx_iov[1],
-                                               payload_niov, payload_iov,
-                                               payload_offset, payload_nob);
-        } else {
-                tx->tx_niov = 1;
-                tx->tx_iov = &tx->tx_frags.paged.iov;
-                tx->tx_kiov = tx->tx_frags.paged.kiov;
-                tx->tx_nkiov = lnet_extract_kiov(payload_niov, tx->tx_kiov,
-                                                 payload_niov, payload_kiov,
-                                                 payload_offset, payload_nob);
-
-                if (payload_nob >= *ksocknal_tunables.ksnd_zc_min_payload)
-                        tx->tx_zc_capable = 1;
-        }
+       tx->tx_conn = NULL;                     /* set when assigned a conn */
+       tx->tx_lnetmsg = lntmsg;
+
+       tx->tx_niov = 1;
+       tx->tx_iov = &tx->tx_frags.paged.iov;
+       tx->tx_kiov = tx->tx_frags.paged.kiov;
+       tx->tx_nkiov = lnet_extract_kiov(payload_niov, tx->tx_kiov,
+                                        payload_niov, payload_kiov,
+                                        payload_offset, payload_nob);
+
+       if (payload_nob >= *ksocknal_tunables.ksnd_zc_min_payload)
+               tx->tx_zc_capable = 1;
 
        tx->tx_msg.ksm_csum = 0;
        tx->tx_msg.ksm_type = KSOCK_MSG_LNET;
index 7b86f24..50fc646 100644 (file)
@@ -699,7 +699,6 @@ lnet_ni_recv(struct lnet_ni *ni, void *private, struct lnet_msg *msg,
 
                if (mlen != 0) {
                        niov = msg->msg_niov;
-                       iov  = msg->msg_iov;
                        kiov = msg->msg_kiov;
 
                        LASSERT (niov > 0);
@@ -708,7 +707,7 @@ lnet_ni_recv(struct lnet_ni *ni, void *private, struct lnet_msg *msg,
        }
 
        rc = (ni->ni_net->net_lnd->lnd_recv)(ni, private, msg, delayed,
-                                            niov, iov, kiov, offset, mlen,
+                                            niov, NULL, kiov, offset, mlen,
                                             rlen);
        if (rc < 0)
                lnet_finalize(msg, rc);
@@ -723,7 +722,6 @@ lnet_setpayloadbuffer(struct lnet_msg *msg)
        LASSERT(!msg->msg_routing);
        LASSERT(md != NULL);
        LASSERT(msg->msg_niov == 0);
-       LASSERT(msg->msg_iov == NULL);
        LASSERT(msg->msg_kiov == NULL);
 
        msg->msg_niov = md->md_niov;
@@ -996,7 +994,6 @@ lnet_post_routed_recv_locked(struct lnet_msg *msg, int do_recv)
        struct lnet_rtrbufpool *rbp;
        struct lnet_rtrbuf *rb;
 
-       LASSERT(msg->msg_iov == NULL);
        LASSERT(msg->msg_kiov == NULL);
        LASSERT(msg->msg_niov == 0);
        LASSERT(msg->msg_routing);
index 6a433f7..e3506fc 100644 (file)
@@ -51,29 +51,16 @@ lolnd_recv(struct lnet_ni *ni, void *private, struct lnet_msg *lntmsg,
        struct lnet_msg *sendmsg = private;
 
        if (lntmsg != NULL) {                   /* not discarding */
-               if (sendmsg->msg_iov != NULL) {
-                       if (iov != NULL)
-                               lnet_copy_iov2iov(niov, iov, offset,
-                                                 sendmsg->msg_niov,
-                                                 sendmsg->msg_iov,
-                                                 sendmsg->msg_offset, mlen);
-                       else
-                               lnet_copy_iov2kiov(niov, kiov, offset,
-                                                  sendmsg->msg_niov,
-                                                  sendmsg->msg_iov,
-                                                  sendmsg->msg_offset, mlen);
-               } else {
-                       if (iov != NULL)
-                               lnet_copy_kiov2iov(niov, iov, offset,
-                                                  sendmsg->msg_niov,
-                                                  sendmsg->msg_kiov,
-                                                  sendmsg->msg_offset, mlen);
-                       else
-                               lnet_copy_kiov2kiov(niov, kiov, offset,
-                                                   sendmsg->msg_niov,
-                                                   sendmsg->msg_kiov,
-                                                   sendmsg->msg_offset, mlen);
-               }
+               if (iov != NULL)
+                       lnet_copy_kiov2iov(niov, iov, offset,
+                                          sendmsg->msg_niov,
+                                          sendmsg->msg_kiov,
+                                          sendmsg->msg_offset, mlen);
+               else
+                       lnet_copy_kiov2kiov(niov, kiov, offset,
+                                           sendmsg->msg_niov,
+                                           sendmsg->msg_kiov,
+                                           sendmsg->msg_offset, mlen);
 
                lnet_finalize(lntmsg, 0);
        }