OSDN Git Service

net/rds: Simplify ib_post_(send|recv|srq_recv)() calls
authorBart Van Assche <bart.vanassche@wdc.com>
Wed, 18 Jul 2018 16:25:28 +0000 (09:25 -0700)
committerJason Gunthorpe <jgg@mellanox.com>
Tue, 24 Jul 2018 22:06:36 +0000 (16:06 -0600)
Instead of declaring and passing a dummy 'bad_wr' pointer, pass NULL
as third argument to ib_post_(send|recv|srq_recv)().

Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
net/rds/ib_frmr.c
net/rds/ib_recv.c

index 0209cd8..09ab974 100644 (file)
@@ -102,7 +102,6 @@ static void rds_ib_free_frmr(struct rds_ib_mr *ibmr, bool drop)
 static int rds_ib_post_reg_frmr(struct rds_ib_mr *ibmr)
 {
        struct rds_ib_frmr *frmr = &ibmr->u.frmr;
-       struct ib_send_wr *failed_wr;
        struct ib_reg_wr reg_wr;
        int ret, off = 0;
 
@@ -135,8 +134,7 @@ static int rds_ib_post_reg_frmr(struct rds_ib_mr *ibmr)
                        IB_ACCESS_REMOTE_WRITE;
        reg_wr.wr.send_flags = IB_SEND_SIGNALED;
 
-       failed_wr = &reg_wr.wr;
-       ret = ib_post_send(ibmr->ic->i_cm_id->qp, &reg_wr.wr, &failed_wr);
+       ret = ib_post_send(ibmr->ic->i_cm_id->qp, &reg_wr.wr, NULL);
        if (unlikely(ret)) {
                /* Failure here can be because of -ENOMEM as well */
                frmr->fr_state = FRMR_IS_STALE;
@@ -229,7 +227,7 @@ out_unmap:
 
 static int rds_ib_post_inv(struct rds_ib_mr *ibmr)
 {
-       struct ib_send_wr *s_wr, *failed_wr;
+       struct ib_send_wr *s_wr;
        struct rds_ib_frmr *frmr = &ibmr->u.frmr;
        struct rdma_cm_id *i_cm_id = ibmr->ic->i_cm_id;
        int ret = -EINVAL;
@@ -254,8 +252,7 @@ static int rds_ib_post_inv(struct rds_ib_mr *ibmr)
        s_wr->ex.invalidate_rkey = frmr->mr->rkey;
        s_wr->send_flags = IB_SEND_SIGNALED;
 
-       failed_wr = s_wr;
-       ret = ib_post_send(i_cm_id->qp, s_wr, &failed_wr);
+       ret = ib_post_send(i_cm_id->qp, s_wr, NULL);
        if (unlikely(ret)) {
                frmr->fr_state = FRMR_IS_STALE;
                frmr->fr_inv = false;
index b4e421a..4c5a937 100644 (file)
@@ -383,7 +383,6 @@ void rds_ib_recv_refill(struct rds_connection *conn, int prefill, gfp_t gfp)
 {
        struct rds_ib_connection *ic = conn->c_transport_data;
        struct rds_ib_recv_work *recv;
-       struct ib_recv_wr *failed_wr;
        unsigned int posted = 0;
        int ret = 0;
        bool can_wait = !!(gfp & __GFP_DIRECT_RECLAIM);
@@ -417,7 +416,7 @@ void rds_ib_recv_refill(struct rds_connection *conn, int prefill, gfp_t gfp)
                                &recv->r_frag->f_sg));
 
                /* XXX when can this fail? */
-               ret = ib_post_recv(ic->i_cm_id->qp, &recv->r_wr, &failed_wr);
+               ret = ib_post_recv(ic->i_cm_id->qp, &recv->r_wr, NULL);
                if (ret) {
                        rds_ib_conn_error(conn, "recv post on "
                               "%pI4 returned %d, disconnecting and "
@@ -650,7 +649,6 @@ static u64 rds_ib_get_ack(struct rds_ib_connection *ic)
 static void rds_ib_send_ack(struct rds_ib_connection *ic, unsigned int adv_credits)
 {
        struct rds_header *hdr = ic->i_ack;
-       struct ib_send_wr *failed_wr;
        u64 seq;
        int ret;
 
@@ -663,7 +661,7 @@ static void rds_ib_send_ack(struct rds_ib_connection *ic, unsigned int adv_credi
        rds_message_make_checksum(hdr);
        ic->i_ack_queued = jiffies;
 
-       ret = ib_post_send(ic->i_cm_id->qp, &ic->i_ack_wr, &failed_wr);
+       ret = ib_post_send(ic->i_cm_id->qp, &ic->i_ack_wr, NULL);
        if (unlikely(ret)) {
                /* Failed to send. Release the WR, and
                 * force another ACK.