[lustre-devel] [PATCH 01/25] lustre: lnet: remove ni from lnet_finalize
NeilBrown
neilb at suse.com
Wed Sep 26 16:57:40 PDT 2018
On Tue, Sep 25 2018, James Simmons wrote:
> From: Sergey Cheremencev <c17829 at cray.com>
>
> Remove ni from lnet_finalize and kiblnd_txlist_done
> input arguments. Also small code cleanup by introducing
> ibprm_cookie to avoid checkpatch issues.
What checkpatch issues are avoided ??
Thanks,
NeilBrown
>
> Signed-off-by: Sergey Cheremencev <c17829 at cray.com>
> WC-bug-id: https://jira.whamcloud.com/browse/LU-9094
> Seagate-bug-id: MRP-4056
> Reviewed-on: https://review.whamcloud.com/25375
> Reviewed-by: Doug Oucharek <dougso at me.com>
> Reviewed-by: Amir Shehata <ashehata at whamcloud.com>
> Reviewed-by: Oleg Drokin <green at whamcloud.com>
> Signed-off-by: James Simmons <jsimmons at infradead.org>
> ---
> .../staging/lustre/include/linux/lnet/lib-lnet.h | 2 +-
> .../staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c | 2 +-
> .../staging/lustre/lnet/klnds/o2iblnd/o2iblnd.h | 3 +-
> .../staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c | 65 ++++++++++------------
> .../staging/lustre/lnet/klnds/socklnd/socklnd.c | 3 +-
> .../staging/lustre/lnet/klnds/socklnd/socklnd_cb.c | 4 +-
> drivers/staging/lustre/lnet/lnet/lib-move.c | 20 +++----
> drivers/staging/lustre/lnet/lnet/lib-msg.c | 2 +-
> drivers/staging/lustre/lnet/lnet/lo.c | 4 +-
> drivers/staging/lustre/lnet/lnet/net_fault.c | 2 +-
> 10 files changed, 50 insertions(+), 57 deletions(-)
>
> diff --git a/drivers/staging/lustre/include/linux/lnet/lib-lnet.h b/drivers/staging/lustre/include/linux/lnet/lib-lnet.h
> index aedc88c..53cbf6d 100644
> --- a/drivers/staging/lustre/include/linux/lnet/lib-lnet.h
> +++ b/drivers/staging/lustre/include/linux/lnet/lib-lnet.h
> @@ -537,7 +537,7 @@ struct lnet_msg *lnet_create_reply_msg(struct lnet_ni *ni,
> void lnet_set_reply_msg_len(struct lnet_ni *ni, struct lnet_msg *msg,
> unsigned int len);
>
> -void lnet_finalize(struct lnet_ni *ni, struct lnet_msg *msg, int rc);
> +void lnet_finalize(struct lnet_msg *msg, int rc);
>
> void lnet_drop_message(struct lnet_ni *ni, int cpt, void *private,
> unsigned int nob);
> diff --git a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
> index 75a7e96..b3a4344 100644
> --- a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
> +++ b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.c
> @@ -521,7 +521,7 @@ static int kiblnd_del_peer(struct lnet_ni *ni, lnet_nid_t nid)
>
> write_unlock_irqrestore(&kiblnd_data.kib_global_lock, flags);
>
> - kiblnd_txlist_done(ni, &zombies, -EIO);
> + kiblnd_txlist_done(&zombies, -EIO);
>
> return rc;
> }
> diff --git a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.h b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.h
> index b1851b5..a3d89ec 100644
> --- a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.h
> +++ b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd.h
> @@ -1034,8 +1034,7 @@ struct kib_conn *kiblnd_create_conn(struct kib_peer_ni *peer_ni,
> void kiblnd_close_conn_locked(struct kib_conn *conn, int error);
>
> void kiblnd_launch_tx(struct lnet_ni *ni, struct kib_tx *tx, lnet_nid_t nid);
> -void kiblnd_txlist_done(struct lnet_ni *ni, struct list_head *txlist,
> - int status);
> +void kiblnd_txlist_done(struct list_head *txlist, int status);
>
> void kiblnd_qp_event(struct ib_event *event, void *arg);
> void kiblnd_cq_event(struct ib_event *event, void *arg);
> diff --git a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c
> index cb752dc..debed17 100644
> --- a/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c
> +++ b/drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c
> @@ -54,14 +54,12 @@ static int kiblnd_init_rdma(struct kib_conn *conn, struct kib_tx *tx, int type,
> static void kiblnd_check_sends_locked(struct kib_conn *conn);
>
> static void
> -kiblnd_tx_done(struct lnet_ni *ni, struct kib_tx *tx)
> +kiblnd_tx_done(struct kib_tx *tx)
> {
> struct lnet_msg *lntmsg[2];
> - struct kib_net *net = ni->ni_data;
> int rc;
> int i;
>
> - LASSERT(net);
> LASSERT(!in_interrupt());
> LASSERT(!tx->tx_queued); /* mustn't be queued for sending */
> LASSERT(!tx->tx_sending); /* mustn't be awaiting sent callback */
> @@ -76,8 +74,6 @@ static int kiblnd_init_rdma(struct kib_conn *conn, struct kib_tx *tx, int type,
> rc = tx->tx_status;
>
> if (tx->tx_conn) {
> - LASSERT(ni == tx->tx_conn->ibc_peer->ibp_ni);
> -
> kiblnd_conn_decref(tx->tx_conn);
> tx->tx_conn = NULL;
> }
> @@ -92,12 +88,12 @@ static int kiblnd_init_rdma(struct kib_conn *conn, struct kib_tx *tx, int type,
> if (!lntmsg[i])
> continue;
>
> - lnet_finalize(ni, lntmsg[i], rc);
> + lnet_finalize(lntmsg[i], rc);
> }
> }
>
> void
> -kiblnd_txlist_done(struct lnet_ni *ni, struct list_head *txlist, int status)
> +kiblnd_txlist_done(struct list_head *txlist, int status)
> {
> struct kib_tx *tx;
>
> @@ -108,7 +104,7 @@ static int kiblnd_init_rdma(struct kib_conn *conn, struct kib_tx *tx, int type,
> /* complete now */
> tx->tx_waiting = 0;
> tx->tx_status = status;
> - kiblnd_tx_done(ni, tx);
> + kiblnd_tx_done(tx);
> }
> }
>
> @@ -281,7 +277,7 @@ static int kiblnd_init_rdma(struct kib_conn *conn, struct kib_tx *tx, int type,
> spin_unlock(&conn->ibc_lock);
>
> if (idle)
> - kiblnd_tx_done(ni, tx);
> + kiblnd_tx_done(tx);
> }
>
> static void
> @@ -794,7 +790,7 @@ static int kiblnd_map_tx(struct lnet_ni *ni, struct kib_tx *tx,
> * posted NOOPs complete
> */
> spin_unlock(&conn->ibc_lock);
> - kiblnd_tx_done(peer_ni->ibp_ni, tx);
> + kiblnd_tx_done(tx);
> spin_lock(&conn->ibc_lock);
> CDEBUG(D_NET, "%s(%d): redundant or enough NOOP\n",
> libcfs_nid2str(peer_ni->ibp_nid),
> @@ -888,7 +884,7 @@ static int kiblnd_map_tx(struct lnet_ni *ni, struct kib_tx *tx,
> kiblnd_close_conn(conn, rc);
>
> if (done)
> - kiblnd_tx_done(peer_ni->ibp_ni, tx);
> + kiblnd_tx_done(tx);
>
> spin_lock(&conn->ibc_lock);
>
> @@ -1007,7 +1003,7 @@ static int kiblnd_map_tx(struct lnet_ni *ni, struct kib_tx *tx,
> spin_unlock(&conn->ibc_lock);
>
> if (idle)
> - kiblnd_tx_done(conn->ibc_peer->ibp_ni, tx);
> + kiblnd_tx_done(tx);
> }
>
> static void
> @@ -1343,7 +1339,7 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
>
> CWARN("Abort reconnection of %s: %s\n",
> libcfs_nid2str(peer_ni->ibp_nid), reason);
> - kiblnd_txlist_done(peer_ni->ibp_ni, &txs, -ECONNABORTED);
> + kiblnd_txlist_done(&txs, -ECONNABORTED);
> return false;
> }
>
> @@ -1421,7 +1417,7 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
> if (tx) {
> tx->tx_status = -EHOSTUNREACH;
> tx->tx_waiting = 0;
> - kiblnd_tx_done(ni, tx);
> + kiblnd_tx_done(tx);
> }
> return;
> }
> @@ -1557,7 +1553,7 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
> if (rc) {
> CERROR("Can't setup GET sink for %s: %d\n",
> libcfs_nid2str(target.nid), rc);
> - kiblnd_tx_done(ni, tx);
> + kiblnd_tx_done(tx);
> return -EIO;
> }
>
> @@ -1571,7 +1567,7 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
> if (!tx->tx_lntmsg[1]) {
> CERROR("Can't create reply for GET -> %s\n",
> libcfs_nid2str(target.nid));
> - kiblnd_tx_done(ni, tx);
> + kiblnd_tx_done(tx);
> return -EIO;
> }
>
> @@ -1606,7 +1602,7 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
> if (rc) {
> CERROR("Can't setup PUT src for %s: %d\n",
> libcfs_nid2str(target.nid), rc);
> - kiblnd_tx_done(ni, tx);
> + kiblnd_tx_done(tx);
> return -EIO;
> }
>
> @@ -1697,7 +1693,7 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
>
> if (!nob) {
> /* No RDMA: local completion may happen now! */
> - lnet_finalize(ni, lntmsg, 0);
> + lnet_finalize(lntmsg, 0);
> } else {
> /* RDMA: lnet_finalize(lntmsg) when it completes */
> tx->tx_lntmsg[0] = lntmsg;
> @@ -1707,9 +1703,9 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
> return;
>
> failed_1:
> - kiblnd_tx_done(ni, tx);
> + kiblnd_tx_done(tx);
> failed_0:
> - lnet_finalize(ni, lntmsg, -EIO);
> + lnet_finalize(lntmsg, -EIO);
> }
>
> int
> @@ -1722,6 +1718,7 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
> struct kib_tx *tx;
> int nob;
> int post_credit = IBLND_POSTRX_PEER_CREDIT;
> + u64 ibprm_cookie;
> int rc = 0;
>
> LASSERT(iov_iter_count(to) <= rlen);
> @@ -1750,17 +1747,18 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
> }
>
> rc = 0;
> - lnet_finalize(ni, lntmsg, 0);
> + lnet_finalize(lntmsg, 0);
> break;
>
> case IBLND_MSG_PUT_REQ: {
> + u64 ibprm_cookie = rxmsg->ibm_u.putreq.ibprm_cookie;
> struct kib_msg *txmsg;
> struct kib_rdma_desc *rd;
>
> if (!iov_iter_count(to)) {
> - lnet_finalize(ni, lntmsg, 0);
> - kiblnd_send_completion(rx->rx_conn, IBLND_MSG_PUT_NAK, 0,
> - rxmsg->ibm_u.putreq.ibprm_cookie);
> + lnet_finalize(lntmsg, 0);
> + kiblnd_send_completion(rx->rx_conn, IBLND_MSG_PUT_NAK,
> + 0, ibprm_cookie);
> break;
> }
>
> @@ -1788,15 +1786,15 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
> if (rc) {
> CERROR("Can't setup PUT sink for %s: %d\n",
> libcfs_nid2str(conn->ibc_peer->ibp_nid), rc);
> - kiblnd_tx_done(ni, tx);
> + kiblnd_tx_done(tx);
> /* tell peer_ni it's over */
> - kiblnd_send_completion(rx->rx_conn, IBLND_MSG_PUT_NAK, rc,
> - rxmsg->ibm_u.putreq.ibprm_cookie);
> + kiblnd_send_completion(rx->rx_conn, IBLND_MSG_PUT_NAK,
> + rc, ibprm_cookie);
> break;
> }
>
> nob = offsetof(struct kib_putack_msg, ibpam_rd.rd_frags[rd->rd_nfrags]);
> - txmsg->ibm_u.putack.ibpam_src_cookie = rxmsg->ibm_u.putreq.ibprm_cookie;
> + txmsg->ibm_u.putack.ibpam_src_cookie = ibprm_cookie;
> txmsg->ibm_u.putack.ibpam_dst_cookie = tx->tx_cookie;
>
> kiblnd_init_tx_msg(ni, tx, IBLND_MSG_PUT_ACK, nob);
> @@ -1817,8 +1815,7 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
> } else {
> /* GET didn't match anything */
> kiblnd_send_completion(rx->rx_conn, IBLND_MSG_GET_DONE,
> - -ENODATA,
> - rxmsg->ibm_u.get.ibgm_cookie);
> + -ENODATA, ibprm_cookie);
> }
> break;
> }
> @@ -2016,7 +2013,7 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
>
> spin_unlock(&conn->ibc_lock);
>
> - kiblnd_txlist_done(conn->ibc_peer->ibp_ni, &zombies, -ECONNABORTED);
> + kiblnd_txlist_done(&zombies, -ECONNABORTED);
> }
>
> static void
> @@ -2098,7 +2095,7 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
> CNETERR("Deleting messages for %s: connection failed\n",
> libcfs_nid2str(peer_ni->ibp_nid));
>
> - kiblnd_txlist_done(peer_ni->ibp_ni, &zombies, -EHOSTUNREACH);
> + kiblnd_txlist_done(&zombies, -EHOSTUNREACH);
> }
>
> static void
> @@ -2170,13 +2167,11 @@ static int kiblnd_resolve_addr(struct rdma_cm_id *cmid,
>
> if (!kiblnd_peer_active(peer_ni) || /* peer_ni has been deleted */
> conn->ibc_comms_error) { /* error has happened already */
> - struct lnet_ni *ni = peer_ni->ibp_ni;
> -
> /* start to shut down connection */
> kiblnd_close_conn_locked(conn, -ECONNABORTED);
> write_unlock_irqrestore(&kiblnd_data.kib_global_lock, flags);
>
> - kiblnd_txlist_done(ni, &txs, -ECONNABORTED);
> + kiblnd_txlist_done(&txs, -ECONNABORTED);
>
> return;
> }
> diff --git a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c
> index 534ba84..9b9cc87 100644
> --- a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c
> +++ b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c
> @@ -1653,8 +1653,7 @@ struct ksock_peer *
> &conn->ksnc_ipaddr, conn->ksnc_port,
> iov_iter_count(&conn->ksnc_rx_to), conn->ksnc_rx_nob_left,
> ktime_get_seconds() - last_rcv);
> - lnet_finalize(conn->ksnc_peer->ksnp_ni,
> - conn->ksnc_cookie, -EIO);
> + lnet_finalize(conn->ksnc_cookie, -EIO);
> break;
> case SOCKNAL_RX_LNET_HEADER:
> if (conn->ksnc_rx_started)
> diff --git a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
> index 1bf0170..2e99a17 100644
> --- a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
> +++ b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
> @@ -343,7 +343,7 @@ struct ksock_tx *
>
> ksocknal_free_tx(tx);
> if (lnetmsg) /* KSOCK_MSG_NOOP go without lnetmsg */
> - lnet_finalize(ni, lnetmsg, rc);
> + lnet_finalize(lnetmsg, rc);
> }
>
> void
> @@ -1226,7 +1226,7 @@ struct ksock_route *
> le64_to_cpu(lhdr->src_nid) != id->nid);
> }
>
> - lnet_finalize(conn->ksnc_peer->ksnp_ni, conn->ksnc_cookie, rc);
> + lnet_finalize(conn->ksnc_cookie, rc);
>
> if (rc) {
> ksocknal_new_packet(conn, 0);
> diff --git a/drivers/staging/lustre/lnet/lnet/lib-move.c b/drivers/staging/lustre/lnet/lnet/lib-move.c
> index d39331f..a213387 100644
> --- a/drivers/staging/lustre/lnet/lnet/lib-move.c
> +++ b/drivers/staging/lustre/lnet/lnet/lib-move.c
> @@ -408,7 +408,7 @@
> }
> rc = ni->ni_net->net_lnd->lnd_recv(ni, private, msg, delayed, &to, rlen);
> if (rc < 0)
> - lnet_finalize(ni, msg, rc);
> + lnet_finalize(msg, rc);
> }
>
> static void
> @@ -462,7 +462,7 @@
>
> rc = ni->ni_net->net_lnd->lnd_send(ni, priv, msg);
> if (rc < 0)
> - lnet_finalize(ni, msg, rc);
> + lnet_finalize(msg, rc);
> }
>
> static int
> @@ -637,7 +637,7 @@
> CNETERR("Dropping message for %s: peer not alive\n",
> libcfs_id2str(msg->msg_target));
> if (do_send)
> - lnet_finalize(ni, msg, -EHOSTUNREACH);
> + lnet_finalize(msg, -EHOSTUNREACH);
>
> lnet_net_lock(cpt);
> return -EHOSTUNREACH;
> @@ -650,7 +650,7 @@
> CNETERR("Aborting message for %s: LNetM[DE]Unlink() already called on the MD/ME.\n",
> libcfs_id2str(msg->msg_target));
> if (do_send)
> - lnet_finalize(ni, msg, -ECANCELED);
> + lnet_finalize(msg, -ECANCELED);
>
> lnet_net_lock(cpt);
> return -ECANCELED;
> @@ -915,7 +915,7 @@
> lnet_ni_recv(msg->msg_rxni, msg->msg_private, NULL,
> 0, 0, 0, msg->msg_hdr.payload_length);
> list_del_init(&msg->msg_list);
> - lnet_finalize(NULL, msg, -ECANCELED);
> + lnet_finalize(msg, -ECANCELED);
> }
>
> lnet_net_lock(cpt);
> @@ -1914,7 +1914,7 @@
> libcfs_nid2str(ni->ni_nid),
> libcfs_id2str(info.mi_id), rc);
>
> - lnet_finalize(ni, msg, rc);
> + lnet_finalize(msg, rc);
> }
>
> return 0;
> @@ -2402,7 +2402,7 @@
>
> free_drop:
> LASSERT(!msg->msg_md);
> - lnet_finalize(ni, msg, rc);
> + lnet_finalize(msg, rc);
>
> drop:
> lnet_drop_message(ni, cpt, private, payload_length);
> @@ -2447,7 +2447,7 @@
> * but we still should give error code so lnet_msg_decommit()
> * can skip counters operations and other checks.
> */
> - lnet_finalize(msg->msg_rxni, msg, -ENOENT);
> + lnet_finalize(msg, -ENOENT);
> }
> }
>
> @@ -2605,7 +2605,7 @@
> if (rc) {
> CNETERR("Error sending PUT to %s: %d\n",
> libcfs_id2str(target), rc);
> - lnet_finalize(NULL, msg, rc);
> + lnet_finalize(msg, rc);
> }
>
> /* completion will be signalled by an event */
> @@ -2804,7 +2804,7 @@ struct lnet_msg *
> if (rc < 0) {
> CNETERR("Error sending GET to %s: %d\n",
> libcfs_id2str(target), rc);
> - lnet_finalize(NULL, msg, rc);
> + lnet_finalize(msg, rc);
> }
>
> /* completion will be signalled by an event */
> diff --git a/drivers/staging/lustre/lnet/lnet/lib-msg.c b/drivers/staging/lustre/lnet/lnet/lib-msg.c
> index aa28b6a..00be9ab 100644
> --- a/drivers/staging/lustre/lnet/lnet/lib-msg.c
> +++ b/drivers/staging/lustre/lnet/lnet/lib-msg.c
> @@ -452,7 +452,7 @@
> }
>
> void
> -lnet_finalize(struct lnet_ni *ni, struct lnet_msg *msg, int status)
> +lnet_finalize(struct lnet_msg *msg, int status)
> {
> struct lnet_msg_container *container;
> int my_slot;
> diff --git a/drivers/staging/lustre/lnet/lnet/lo.c b/drivers/staging/lustre/lnet/lnet/lo.c
> index 8167980..c8a1eb62 100644
> --- a/drivers/staging/lustre/lnet/lnet/lo.c
> +++ b/drivers/staging/lustre/lnet/lnet/lo.c
> @@ -62,10 +62,10 @@
> sendmsg->msg_offset,
> iov_iter_count(to));
>
> - lnet_finalize(ni, lntmsg, 0);
> + lnet_finalize(lntmsg, 0);
> }
>
> - lnet_finalize(ni, sendmsg, 0);
> + lnet_finalize(sendmsg, 0);
> return 0;
> }
>
> diff --git a/drivers/staging/lustre/lnet/lnet/net_fault.c b/drivers/staging/lustre/lnet/lnet/net_fault.c
> index 17891f6..3841bac 100644
> --- a/drivers/staging/lustre/lnet/lnet/net_fault.c
> +++ b/drivers/staging/lustre/lnet/lnet/net_fault.c
> @@ -633,7 +633,7 @@ struct delay_daemon_data {
> }
>
> lnet_drop_message(ni, cpt, msg->msg_private, msg->msg_len);
> - lnet_finalize(ni, msg, rc);
> + lnet_finalize(msg, rc);
> }
> }
>
> --
> 1.8.3.1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.lustre.org/pipermail/lustre-devel-lustre.org/attachments/20180927/a58acb3b/attachment.sig>
More information about the lustre-devel
mailing list