]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
refresh (create temporary patch)
authorSean Hefty <sean.hefty@intel.com>
Tue, 21 Aug 2012 21:02:05 +0000 (14:02 -0700)
committerSean Hefty <sean.hefty@intel.com>
Tue, 21 Aug 2012 21:02:05 +0000 (14:02 -0700)
meta
patches/refresh-temp [new file with mode: 0644]

diff --git a/meta b/meta
index 5ab4fdef46c37008c74659e1b1fb1ce9aac937d0..7b2a30b35a42b3ab4ee24bdcf30c46a320ec4d2e 100644 (file)
--- a/meta
+++ b/meta
@@ -1,8 +1,9 @@
 Version: 1
-Previous: 40e762ed5d1216182e1250072d8fe3b77157dfac
-Head: e7cc6a067af8aac26c77b33a791368896e3f5660
+Previous: 3d9a15b3720d3f360064b33b64e9b295d6a1281c
+Head: f914f6853511dd5c0aa87bbd41433d795bb7748c
 Applied:
   dbg-fork: e7cc6a067af8aac26c77b33a791368896e3f5660
+  refresh-temp: f914f6853511dd5c0aa87bbd41433d795bb7748c
 Unapplied:
   af_ib: 2e4bfa467343c57c68616c1922c01765df3ed1db
   dbg-out: 4b4c0572eab77856d8fbb919b1feb8f3502a101a
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..2f06ebe
--- /dev/null
@@ -0,0 +1,64 @@
+Bottom: 30191aa638f3f574e67a71c82fa7771bcc620c52
+Top:    36fe9752394406c04c3d8f13fe21a0a3fdade499
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2012-08-21 14:02:04 -0700
+
+Refresh of dbg-fork
+
+---
+
+diff --git a/src/rsocket.c b/src/rsocket.c
+index 4c4821b..52476a2 100644
+--- a/src/rsocket.c
++++ b/src/rsocket.c
+@@ -156,6 +156,10 @@ struct rsocket {
+       fastlock_t        cq_lock;
+       fastlock_t        cq_wait_lock;
++      struct rs_msg     last_ctrl;
++      uint64_t          bytes_sent;
++      uint64_t          bytes_received;
++
+       int               opts;
+       long              fd_flags;
+       uint64_t          so_opts;
+@@ -816,6 +820,7 @@ static void rs_send_credits(struct rsocket *rs)
+       rs->ctrl_avail--;
+       rs->rseq_comp = rs->rseq_no + (rs->rq_size >> 1);
++      rs->last_ctrl.op = rs->rseq_no + rs->rq_size;
+       if (rs->rbuf_bytes_avail >= (rs->rbuf_size >> 1)) {
+               if (!(rs->opts & RS_OPT_SWAP_SGL)) {
+                       sge.addr = (uintptr_t) &rs->rbuf[rs->rbuf_free_offset];
+@@ -830,6 +835,7 @@ static void rs_send_credits(struct rsocket *rs)
+               ibsge.addr = (uintptr_t) &sge;
+               ibsge.lkey = 0;
+               ibsge.length = sizeof(sge);
++              rs->last_ctrl.data = sge.length;
+               rs_post_write(rs, &ibsge, 1,
+                             rs_msg_set(RS_OP_SGL, rs->rseq_no + rs->rq_size),
+@@ -845,6 +851,7 @@ static void rs_send_credits(struct rsocket *rs)
+               if (++rs->remote_sge == rs->remote_sgl.length)
+                       rs->remote_sge = 0;
+       } else {
++              rs->last_ctrl.data = 0;
+               rs_post_write(rs, NULL, 0,
+                             rs_msg_set(RS_OP_SGL, rs->rseq_no + rs->rq_size), 0, 0, 0);
+       }
+@@ -1173,6 +1180,7 @@ ssize_t rrecv(int socket, void *buf, size_t len, int flags)
+       } while (left && (flags & MSG_WAITALL) && (rs->state & rs_connect_rd));
++      rs->bytes_received += (len - left);
+       fastlock_release(&rs->rlock);
+       return ret ? ret : len - left;
+ }
+@@ -1289,6 +1297,7 @@ ssize_t rsend(int socket, const void *buf, size_t len, int flags)
+               if (ret)
+                       break;
+       }
++      rs->bytes_sent += (len - left);
+       fastlock_release(&rs->slock);
+       return (ret && left == len) ? ret : len - left;