Version: 1
-Previous: 8378501d09a0215f244a0b4e8b7d979329cc92a4
-Head: 8116d0c78faabc0ada51a7dc7e7416c5ffc89edc
+Previous: e5a37b4009d2856bb5fab614a2d9f20d4ea1360b
+Head: 10e5dd48bf6f4ccab00d5fafebec06b13110d5da
Applied:
- rs-1sge: c03a47f017d8f919935ba4da5a66fc9b9d753b51
- refresh-temp: 8116d0c78faabc0ada51a7dc7e7416c5ffc89edc
+ rs-1sge: 10e5dd48bf6f4ccab00d5fafebec06b13110d5da
Unapplied:
ip6-opt: 7e43a759255e9890d1e41f1edf71792836f53941
Hidden:
+++ /dev/null
-Bottom: 5d8567651b8275bf1758541671b1945c62afa5d7
-Top: a6905793b5de800afb8cf1b42e0ace5122c129f5
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-06-08 17:29:15 -0700
-
-Refresh of rs-1sge
-
----
-
-diff --git a/src/rsocket.c b/src/rsocket.c
-index 0f3bc91..fa16f85 100644
---- a/src/rsocket.c
-+++ b/src/rsocket.c
-@@ -756,6 +756,12 @@ static int rs_post_write(struct rsocket *rs, uint64_t wr_id,
- return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
- }
-
-+static uint32_t rs_sbuf_left(struct rsocket *rs)
-+{
-+ return (uint32_t) (((uint64_t) (uintptr_t) &rs->sbuf[rs->sbuf_size]) -
-+ rs->ssge.addr);
-+}
-+
- /*
- * Update target SGE before sending data. Otherwise the remote side may
- * update the entry before we do.
-@@ -791,12 +797,6 @@ static int rs_write_data(struct rsocket *rs, struct ibv_sge *sge, int flags)
- return ret;
- }
-
--static uint32_t rs_sbuf_left(struct rsocket *rs)
--{
-- return (uint32_t) (((uint64_t) (uintptr_t) &rs->sbuf[rs->sbuf_size]) -
-- rs->ssge.addr);
--}
--
- static void rs_send_credits(struct rsocket *rs)
- {
- struct ibv_sge ibsge;
Bottom: 19653040b4f6827e46b2b5079ab41e32a223fc76
-Top: 5d8567651b8275bf1758541671b1945c62afa5d7
+Top: a6905793b5de800afb8cf1b42e0ace5122c129f5
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-05-24 14:36:41 -0700
---
diff --git a/src/rsocket.c b/src/rsocket.c
-index a3c2c6a..0f3bc91 100644
+index a3c2c6a..fa16f85 100644
--- a/src/rsocket.c
+++ b/src/rsocket.c
@@ -95,6 +95,10 @@ enum {
qp_attr.cap.max_recv_sge = 1;
qp_attr.cap.max_inline_data = rs->sq_inline;
-@@ -775,35 +760,41 @@ static int rs_post_write(struct rsocket *rs, uint64_t wr_id,
+@@ -771,39 +756,45 @@ static int rs_post_write(struct rsocket *rs, uint64_t wr_id,
+ return rdma_seterrno(ibv_post_send(rs->cm_id->qp, &wr, &bad));
+ }
+
++static uint32_t rs_sbuf_left(struct rsocket *rs)
++{
++ return (uint32_t) (((uint64_t) (uintptr_t) &rs->sbuf[rs->sbuf_size]) -
++ rs->ssge.addr);
++}
++
+ /*
* Update target SGE before sending data. Otherwise the remote side may
* update the entry before we do.
*/
}
- return rs_post_write(rs, wr_id.wr_id, sgl, nsge, imm_data, flags, addr, rkey);
+-}
+-
+-static uint32_t rs_sbuf_left(struct rsocket *rs)
+-{
+- return (uint32_t) (((uint64_t) (uintptr_t) &rs->sbuf[rs->sbuf_size]) -
+- rs->ssgl[0].addr);
+ ret = rs_post_write(rs, rs_wrid_set(1, len), sge, 1,
+ rs_msg_set(RS_OP_DATA, len), flags, addr, rkey);
+ if (len < rs_sbuf_left(rs))
+ return ret;
}
- static uint32_t rs_sbuf_left(struct rsocket *rs)
- {
- return (uint32_t) (((uint64_t) (uintptr_t) &rs->sbuf[rs->sbuf_size]) -
-- rs->ssgl[0].addr);
-+ rs->ssge.addr);
- }
-
static void rs_send_credits(struct rsocket *rs)
@@ -863,7 +854,6 @@ static void rs_update_credits(struct rsocket *rs)
static int rs_poll_cq(struct rsocket *rs)