]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
refresh
authorSean Hefty <sean.hefty@intel.com>
Fri, 18 Apr 2014 01:15:39 +0000 (18:15 -0700)
committerSean Hefty <sean.hefty@intel.com>
Fri, 18 Apr 2014 01:15:39 +0000 (18:15 -0700)
meta
patches/inline0
patches/refresh-temp [deleted file]

diff --git a/meta b/meta
index 01d48dc45e725a49cede677709b49ee97c0c9bc1..d096db3c668b01f2b42a8e0dc142264b536bb656 100644 (file)
--- a/meta
+++ b/meta
@@ -1,13 +1,12 @@
 Version: 1
-Previous: 75b394df1478e6189e44d5ce42cb05e8a459f35c
-Head: 6a9e4b7aca9c73d8fa23c183bc25efe6b84355d2
+Previous: 8813ba69cb9c0be0e5fd1a0aab6639e8fe74c7a1
+Head: d5564260069c15961bb838a533a8a9143a1a7791
 Applied:
   lazy-init: f306625fe8cafef70e3d60fddd7e685bc0696047
   rs-inline: 4243da0ad9206c662b3a3c8ba7a9f4b2b7269d3f
   fixed-ctrl: fa7872e54b5ef5a986cdfcc4d2a895c3a0c733c8
   rs-ctrl: 5039c0e317d5507a0df5afc07e3783a650cab8e6
-  inline0: 36fad2e8e4db1b39bcc7d19c8e6bf738f4e9f694
-  refresh-temp: 6a9e4b7aca9c73d8fa23c183bc25efe6b84355d2
+  inline0: d5564260069c15961bb838a533a8a9143a1a7791
 Unapplied:
   old-af-ib: aaa0d9ca917c8c361a978e5a116963c2cceac5ba
   old-seterr: 47eb0c419687c2690292c1910acae83a46e5388c
index 61c694e9ee2b0fd701713bcbc7d9e5d91d8b5f06..2604c1940fe07ff3eb37ced5102073b52887ff51 100644 (file)
@@ -1,5 +1,5 @@
 Bottom: cfb4e06d73107deeb818771d285c201b7e0eb692
-Top:    7f75ab2faf5a23755d593d5c77a94121b8c88a7c
+Top:    9e9be02403dd00064b5f95e25a4b658e94df193f
 Author: Sean Hefty <sean.hefty@intel.com>
 Date:   2014-04-16 22:01:51 -0700
 
@@ -16,7 +16,7 @@ Signed-off-by: Sean Hefty <sean.hefty@intel.com>
 ---
 
 diff --git a/src/rsocket.c b/src/rsocket.c
-index 77b3979..07cd8d3 100644
+index 77b3979..86eedd2 100644
 --- a/src/rsocket.c
 +++ b/src/rsocket.c
 @@ -61,7 +61,7 @@
@@ -114,141 +114,87 @@ index 77b3979..07cd8d3 100644
        ret = ds_add_qp_dest(qp, src_addr, addrlen);
        if (ret)
                goto err;
-@@ -1613,28 +1608,55 @@ int rconnect(int socket, const struct sockaddr *addr, socklen_t addrlen)
+@@ -1613,6 +1608,59 @@ int rconnect(int socket, const struct sockaddr *addr, socklen_t addrlen)
        return ret;
  }
  
--static int rs_post_msg(struct rsocket *rs, uint32_t msg)
 +static void *rs_get_ctrl_buf(struct rsocket *rs)
 +{
 +      return rs->sbuf + rs->sbuf_size +
 +              RS_MAX_CTRL_MSG * (rs->ctrl_seqno & (RS_QP_CTRL_SIZE - 1));
 +}
 +
-+static int rs_post_send_msg(struct rsocket *rs, uint64_t wr_id, uint32_t msg)
- {
-       struct ibv_send_wr wr, *bad;
-       struct ibv_sge sge;
-+      void *ctrl_buf;
--      wr.wr_id = rs_send_wr_id(msg);
-+      wr.wr_id = wr_id;
-       wr.next = NULL;
--      if (!(rs->opts & RS_OPT_MSG_SEND)) {
--              wr.sg_list = NULL;
--              wr.num_sge = 0;
--              wr.opcode = IBV_WR_RDMA_WRITE_WITH_IMM;
-+      if (rs->sq_inline < sizeof msg) {
-+              ctrl_buf = rs_get_ctrl_buf(rs);
-+              memcpy(ctrl_buf, &msg, sizeof msg);
-+              sge.addr = (uintptr_t) ctrl_buf;
-+              sge.lkey = rs->smr->lkey;
-+              sge.length = sizeof msg;
-               wr.send_flags = 0;
--              wr.imm_data = htonl(msg);
-       } else {
-               sge.addr = (uintptr_t) &msg;
-               sge.lkey = 0;
-               sge.length = sizeof msg;
--              wr.sg_list = &sge;
--              wr.num_sge = 1;
--              wr.opcode = IBV_WR_SEND;
-               wr.send_flags = IBV_SEND_INLINE;
-       }
-+      wr.sg_list = &sge;
-+      wr.num_sge = 1;
-+      wr.opcode = IBV_WR_SEND;
-+
-+      return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
-+}
-+
-+static int rs_post_msg(struct rsocket *rs, uint32_t msg)
-+{
-+      struct ibv_send_wr wr, *bad;
-+      struct ibv_sge sge;
++//static int rs_post_send_msg(struct rsocket *rs, uint64_t wr_id, uint32_t msg)
++//{
++//    struct ibv_send_wr wr, *bad;
++//    struct ibv_sge sge;
++//    void *ctrl_buf;
++//
++//    wr.wr_id = wr_id;
++//    wr.next = NULL;
++//    if (rs->sq_inline < sizeof msg) {
++//            ctrl_buf = rs_get_ctrl_buf(rs);
++//            memcpy(ctrl_buf, &msg, sizeof msg);
++//            sge.addr = (uintptr_t) ctrl_buf;
++//            sge.lkey = rs->smr->lkey;
++//            sge.length = sizeof msg;
++//            wr.send_flags = 0;
++//    } else {
++//            sge.addr = (uintptr_t) &msg;
++//            sge.lkey = 0;
++//            sge.length = sizeof msg;
++//            wr.send_flags = IBV_SEND_INLINE;
++//    }
++//    wr.sg_list = &sge;
++//    wr.num_sge = 1;
++//    wr.opcode = IBV_WR_SEND;
++//
++//    return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
++//}
++//
++//static int rs_post_msg(struct rsocket *rs, uint32_t msg)
++//{
++//    struct ibv_send_wr wr, *bad;
++//    struct ibv_sge sge;
++//
++//    if (rs->opts & RS_OPT_MSG_SEND)
++//            return rs_post_send_msg(rs, rs_send_wr_id(msg), msg);
++//
++//    wr.wr_id = rs_send_wr_id(msg);
++//    wr.next = NULL;
++//    wr.sg_list = NULL;
++//    wr.num_sge = 0;
++//    wr.opcode = IBV_WR_RDMA_WRITE_WITH_IMM;
++//    wr.send_flags = 0;
++//    wr.imm_data = htonl(msg);
++//
++//    return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
++//}
 +
-+      if (rs->opts & RS_OPT_MSG_SEND)
-+              return rs_post_send_msg(rs, rs_send_wr_id(msg), msg);
-+
-+      wr.wr_id = rs_send_wr_id(msg);
-+      wr.next = NULL;
-+      wr.sg_list = NULL;
-+      wr.num_sge = 0;
-+      wr.opcode = IBV_WR_RDMA_WRITE_WITH_IMM;
-+      wr.send_flags = 0;
-+      wr.imm_data = htonl(msg);
-       return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
- }
-@@ -1658,10 +1680,9 @@ static int rs_post_write(struct rsocket *rs,
-       return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
- }
--static int rs_post_write_msg(struct rsocket *rs,
--                       struct ibv_sge *sgl, int nsge,
--                       uint32_t msg, int flags,
--                       uint64_t addr, uint32_t rkey)
-+static int
-+rs_post_write_with_msg(struct rsocket *rs, struct ibv_sge *sgl, int nsge,
-+                     uint32_t msg, int flags, uint64_t addr, uint32_t rkey)
+ static int rs_post_msg(struct rsocket *rs, uint32_t msg)
  {
        struct ibv_send_wr wr, *bad;
-       struct ibv_sge sge;
-@@ -1682,17 +1703,9 @@ static int rs_post_write_msg(struct rsocket *rs,
-       } else {
-               ret = rs_post_write(rs, sgl, nsge, msg, flags, addr, rkey);
-               if (!ret) {
--                      wr.wr_id = rs_send_wr_id(rs_msg_set(rs_msg_op(msg), 0)) |
--                                 RS_WR_ID_FLAG_MSG_SEND;
--                      sge.addr = (uintptr_t) &msg;
--                      sge.lkey = 0;
--                      sge.length = sizeof msg;
--                      wr.sg_list = &sge;
--                      wr.num_sge = 1;
--                      wr.opcode = IBV_WR_SEND;
--                      wr.send_flags = IBV_SEND_INLINE;
--
--                      ret = rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
-+                      ret = rs_post_send_msg(rs,
-+                              rs_send_wr_id(rs_msg_set(rs_msg_op(msg), 0)) |
-+                              RS_WR_ID_FLAG_MSG_SEND, msg);
-               }
-               return ret;
-       }
-@@ -1744,8 +1757,8 @@ static int rs_write_data(struct rsocket *rs,
-                       rs->target_sge = 0;
-       }
--      return rs_post_write_msg(rs, sgl, nsge, rs_msg_set(RS_OP_DATA, length),
--                               flags, addr, rkey);
-+      return rs_post_write_with_msg(rs, sgl, nsge, rs_msg_set(RS_OP_DATA, length),
-+                                    flags, addr, rkey);
- }
- static int rs_write_direct(struct rsocket *rs, struct rs_iomap *iom, uint64_t offset,
-@@ -1773,8 +1786,9 @@ static int rs_write_iomap(struct rsocket *rs, struct rs_iomap_mr *iomr,
+@@ -1773,8 +1821,9 @@ static int rs_write_iomap(struct rsocket *rs, struct rs_iomap_mr *iomr,
        rs->sbuf_bytes_avail -= sizeof(struct rs_iomap);
  
        addr = rs->remote_iomap.addr + iomr->index * sizeof(struct rs_iomap);
 -      return rs_post_write_msg(rs, sgl, nsge, rs_msg_set(RS_OP_IOMAP_SGL, iomr->index),
 -                               flags, addr, rs->remote_iomap.key);
-+      return rs_post_write_with_msg(rs, sgl, nsge,
++      return rs_post_write_msg(rs, sgl, nsge,
 +              rs_msg_set(RS_OP_IOMAP_SGL, iomr->index), flags, addr,
 +              rs->remote_iomap.key);
  }
  
  static uint32_t rs_sbuf_left(struct rsocket *rs)
-@@ -1808,12 +1822,11 @@ static void rs_send_credits(struct rsocket *rs)
-               ibsge.lkey = 0;
+@@ -1809,11 +1858,10 @@ static void rs_send_credits(struct rsocket *rs)
                ibsge.length = sizeof(sge);
  
--              rs_post_write_msg(rs, &ibsge, 1,
+               rs_post_write_msg(rs, &ibsge, 1,
 -                                rs_msg_set(RS_OP_SGL, rs->rseq_no + rs->rq_size),
 -                                IBV_SEND_INLINE,
 -                                rs->remote_sgl.addr +
 -                                rs->remote_sge * sizeof(struct rs_sge),
 -                                rs->remote_sgl.key);
-+              rs_post_write_with_msg(rs, &ibsge, 1,
 +                      rs_msg_set(RS_OP_SGL, rs->rseq_no + rs->rq_size),
 +                      IBV_SEND_INLINE,
 +                      rs->remote_sgl.addr + rs->remote_sge * sizeof(struct rs_sge),
@@ -256,7 +202,7 @@ index 77b3979..07cd8d3 100644
  
                rs->rbuf_bytes_avail -= rs->rbuf_size >> 1;
                rs->rbuf_free_offset += rs->rbuf_size >> 1;
-@@ -3456,8 +3469,6 @@ int rsetsockopt(int socket, int level, int optname,
+@@ -3456,8 +3504,6 @@ int rsetsockopt(int socket, int level, int optname,
                        break;
                case RDMA_INLINE:
                        rs->sq_inline = min(*(uint32_t *) optval, RS_QP_MAX_SIZE);
diff --git a/patches/refresh-temp b/patches/refresh-temp
deleted file mode 100644 (file)
index 4b1f0c3..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-Bottom: 7f75ab2faf5a23755d593d5c77a94121b8c88a7c
-Top:    9e9be02403dd00064b5f95e25a4b658e94df193f
-Author: Sean Hefty <sean.hefty@intel.com>
-Date:   2014-04-17 18:15:38 -0700
-
-Refresh of inline0
-
----
-
-diff --git a/src/rsocket.c b/src/rsocket.c
-index 07cd8d3..86eedd2 100644
---- a/src/rsocket.c
-+++ b/src/rsocket.c
-@@ -1614,49 +1614,75 @@ static void *rs_get_ctrl_buf(struct rsocket *rs)
-               RS_MAX_CTRL_MSG * (rs->ctrl_seqno & (RS_QP_CTRL_SIZE - 1));
- }
--static int rs_post_send_msg(struct rsocket *rs, uint64_t wr_id, uint32_t msg)
-+//static int rs_post_send_msg(struct rsocket *rs, uint64_t wr_id, uint32_t msg)
-+//{
-+//    struct ibv_send_wr wr, *bad;
-+//    struct ibv_sge sge;
-+//    void *ctrl_buf;
-+//
-+//    wr.wr_id = wr_id;
-+//    wr.next = NULL;
-+//    if (rs->sq_inline < sizeof msg) {
-+//            ctrl_buf = rs_get_ctrl_buf(rs);
-+//            memcpy(ctrl_buf, &msg, sizeof msg);
-+//            sge.addr = (uintptr_t) ctrl_buf;
-+//            sge.lkey = rs->smr->lkey;
-+//            sge.length = sizeof msg;
-+//            wr.send_flags = 0;
-+//    } else {
-+//            sge.addr = (uintptr_t) &msg;
-+//            sge.lkey = 0;
-+//            sge.length = sizeof msg;
-+//            wr.send_flags = IBV_SEND_INLINE;
-+//    }
-+//    wr.sg_list = &sge;
-+//    wr.num_sge = 1;
-+//    wr.opcode = IBV_WR_SEND;
-+//
-+//    return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
-+//}
-+//
-+//static int rs_post_msg(struct rsocket *rs, uint32_t msg)
-+//{
-+//    struct ibv_send_wr wr, *bad;
-+//    struct ibv_sge sge;
-+//
-+//    if (rs->opts & RS_OPT_MSG_SEND)
-+//            return rs_post_send_msg(rs, rs_send_wr_id(msg), msg);
-+//
-+//    wr.wr_id = rs_send_wr_id(msg);
-+//    wr.next = NULL;
-+//    wr.sg_list = NULL;
-+//    wr.num_sge = 0;
-+//    wr.opcode = IBV_WR_RDMA_WRITE_WITH_IMM;
-+//    wr.send_flags = 0;
-+//    wr.imm_data = htonl(msg);
-+//
-+//    return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
-+//}
-+
-+static int rs_post_msg(struct rsocket *rs, uint32_t msg)
- {
-       struct ibv_send_wr wr, *bad;
-       struct ibv_sge sge;
--      void *ctrl_buf;
--      wr.wr_id = wr_id;
-+      wr.wr_id = rs_send_wr_id(msg);
-       wr.next = NULL;
--      if (rs->sq_inline < sizeof msg) {
--              ctrl_buf = rs_get_ctrl_buf(rs);
--              memcpy(ctrl_buf, &msg, sizeof msg);
--              sge.addr = (uintptr_t) ctrl_buf;
--              sge.lkey = rs->smr->lkey;
--              sge.length = sizeof msg;
-+      if (!(rs->opts & RS_OPT_MSG_SEND)) {
-+              wr.sg_list = NULL;
-+              wr.num_sge = 0;
-+              wr.opcode = IBV_WR_RDMA_WRITE_WITH_IMM;
-               wr.send_flags = 0;
-+              wr.imm_data = htonl(msg);
-       } else {
-               sge.addr = (uintptr_t) &msg;
-               sge.lkey = 0;
-               sge.length = sizeof msg;
-+              wr.sg_list = &sge;
-+              wr.num_sge = 1;
-+              wr.opcode = IBV_WR_SEND;
-               wr.send_flags = IBV_SEND_INLINE;
-       }
--      wr.sg_list = &sge;
--      wr.num_sge = 1;
--      wr.opcode = IBV_WR_SEND;
--
--      return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
--}
--
--static int rs_post_msg(struct rsocket *rs, uint32_t msg)
--{
--      struct ibv_send_wr wr, *bad;
--      struct ibv_sge sge;
--
--      if (rs->opts & RS_OPT_MSG_SEND)
--              return rs_post_send_msg(rs, rs_send_wr_id(msg), msg);
--
--      wr.wr_id = rs_send_wr_id(msg);
--      wr.next = NULL;
--      wr.sg_list = NULL;
--      wr.num_sge = 0;
--      wr.opcode = IBV_WR_RDMA_WRITE_WITH_IMM;
--      wr.send_flags = 0;
--      wr.imm_data = htonl(msg);
-       return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
- }
-@@ -1680,9 +1706,10 @@ static int rs_post_write(struct rsocket *rs,
-       return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
- }
--static int
--rs_post_write_with_msg(struct rsocket *rs, struct ibv_sge *sgl, int nsge,
--                     uint32_t msg, int flags, uint64_t addr, uint32_t rkey)
-+static int rs_post_write_msg(struct rsocket *rs,
-+                       struct ibv_sge *sgl, int nsge,
-+                       uint32_t msg, int flags,
-+                       uint64_t addr, uint32_t rkey)
- {
-       struct ibv_send_wr wr, *bad;
-       struct ibv_sge sge;
-@@ -1703,9 +1730,17 @@ rs_post_write_with_msg(struct rsocket *rs, struct ibv_sge *sgl, int nsge,
-       } else {
-               ret = rs_post_write(rs, sgl, nsge, msg, flags, addr, rkey);
-               if (!ret) {
--                      ret = rs_post_send_msg(rs,
--                              rs_send_wr_id(rs_msg_set(rs_msg_op(msg), 0)) |
--                              RS_WR_ID_FLAG_MSG_SEND, msg);
-+                      wr.wr_id = rs_send_wr_id(rs_msg_set(rs_msg_op(msg), 0)) |
-+                                 RS_WR_ID_FLAG_MSG_SEND;
-+                      sge.addr = (uintptr_t) &msg;
-+                      sge.lkey = 0;
-+                      sge.length = sizeof msg;
-+                      wr.sg_list = &sge;
-+                      wr.num_sge = 1;
-+                      wr.opcode = IBV_WR_SEND;
-+                      wr.send_flags = IBV_SEND_INLINE;
-+
-+                      ret = rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
-               }
-               return ret;
-       }
-@@ -1757,8 +1792,8 @@ static int rs_write_data(struct rsocket *rs,
-                       rs->target_sge = 0;
-       }
--      return rs_post_write_with_msg(rs, sgl, nsge, rs_msg_set(RS_OP_DATA, length),
--                                    flags, addr, rkey);
-+      return rs_post_write_msg(rs, sgl, nsge, rs_msg_set(RS_OP_DATA, length),
-+                               flags, addr, rkey);
- }
- static int rs_write_direct(struct rsocket *rs, struct rs_iomap *iom, uint64_t offset,
-@@ -1786,7 +1821,7 @@ static int rs_write_iomap(struct rsocket *rs, struct rs_iomap_mr *iomr,
-       rs->sbuf_bytes_avail -= sizeof(struct rs_iomap);
-       addr = rs->remote_iomap.addr + iomr->index * sizeof(struct rs_iomap);
--      return rs_post_write_with_msg(rs, sgl, nsge,
-+      return rs_post_write_msg(rs, sgl, nsge,
-               rs_msg_set(RS_OP_IOMAP_SGL, iomr->index), flags, addr,
-               rs->remote_iomap.key);
- }
-@@ -1822,7 +1857,7 @@ static void rs_send_credits(struct rsocket *rs)
-               ibsge.lkey = 0;
-               ibsge.length = sizeof(sge);
--              rs_post_write_with_msg(rs, &ibsge, 1,
-+              rs_post_write_msg(rs, &ibsge, 1,
-                       rs_msg_set(RS_OP_SGL, rs->rseq_no + rs->rq_size),
-                       IBV_SEND_INLINE,
-                       rs->remote_sgl.addr + rs->remote_sge * sizeof(struct rs_sge),