Version: 1
-Previous: 54357d24480fcb4389961df046a9a7a8c3e3b926
-Head: 8836e7a85dc286985ac44c58edcf8d379eb3f412
+Previous: 4284a55459ae850e727ebb77d2318c66f0739b49
+Head: ea7789b419a7d6ef50d4f479c4ae005e518367b5
Applied:
rs-iomap: a3630da59297e20652fc7be18edc2a49d77a81bc
riostream: ae55bd70e9d1d4768d8a73b12a1be8f71ae83d96
- iom-dbg: 7e790897d4ab4b7d25f375b61e08e7ce633f0587
- refresh-temp: 8836e7a85dc286985ac44c58edcf8d379eb3f412
+ iom-dbg: ea7789b419a7d6ef50d4f479c4ae005e518367b5
Unapplied:
resv-rs-len: 7b6ff5c4894f54b221d877adcd709795dffb2fe9
rs-target-sgl: 7a07c80f2242e80c076dcf3ec6bb4c94626b284f
Bottom: b7908a5c682466249184ca18ad389fa1b574c3b9
-Top: b7908a5c682466249184ca18ad389fa1b574c3b9
+Top: 3856535c45f2f5e2ce535550e9fde9f596d71890
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-10-24 16:00:03 -0700
---
-
+diff --git a/src/rsocket.c b/src/rsocket.c
+index afcc5b1..7f1839c 100644
+--- a/src/rsocket.c
++++ b/src/rsocket.c
+@@ -46,6 +46,7 @@
+ #include <string.h>
+ #include <netinet/in.h>
+ #include <netinet/tcp.h>
++#include <stdio.h>
+
+ #include <rdma/rdma_cma.h>
+ #include <rdma/rdma_verbs.h>
+@@ -1046,6 +1047,7 @@ static int rs_poll_cq(struct rsocket *rs)
+ rs->sseq_comp = (uint16_t) rs_msg_data(imm_data);
+ break;
+ case RS_OP_IOMAP_SGL:
++ printf("%s - updated iomap %d\n", __func__, rs_msg_data(imm_data));
+ /* The iomap was updated, that's nice to know. */
+ break;
+ case RS_OP_CTRL:
+@@ -1057,6 +1059,7 @@ static int rs_poll_cq(struct rsocket *rs)
+ }
+ break;
+ case RS_OP_WRITE:
++ printf("%s - write op - BAD\n", __func__);
+ /* We really shouldn't be here. */
+ break;
+ default:
+@@ -1077,6 +1080,7 @@ static int rs_poll_cq(struct rsocket *rs)
+ rs->state = rs_disconnected;
+ break;
+ case RS_OP_IOMAP_SGL:
++ printf("%s - iomap update completed\n", __func__);
+ rs->sqe_avail++;
+ rs->sbuf_bytes_avail += sizeof(struct rs_iomap);
+ break;
+@@ -1398,6 +1402,7 @@ static int rs_send_iomaps(struct rsocket *rs, int flags)
+ struct rs_iomap iom;
+ int ret;
+
++ printf("%s\n", __func__);
+ fastlock_acquire(&rs->iomap_lock);
+ while (!dlist_empty(&rs->iomap_queue)) {
+ if (!rs_can_send(rs)) {
+@@ -1453,7 +1458,12 @@ static int rs_send_iomaps(struct rsocket *rs, int flags)
+ break;
+ }
+
++<<<<<<< current
+ rs->iomap_pending = !dlist_empty(&rs->iomap_queue);
++=======
++ rs->iomap_pending = dlist_empty(&rs->iomap_queue);
++ printf("%s - pending = %d\n", __func__, rs->iomap_pending);
++>>>>>>> patched
+ fastlock_release(&rs->iomap_lock);
+ return ret;
+ }
+@@ -2290,7 +2300,9 @@ static struct rs_iomap_mr *rs_get_iomap_mr(struct rsocket *rs)
+ {
+ int i;
+
++ printf("%s\n", __func__);
+ if (!rs->remote_iomappings) {
++ printf("%s - allocate remote iomappings\n", __func__);
+ rs->remote_iomappings = calloc(rs->remote_iomap.length,
+ sizeof(*rs->remote_iomappings));
+ if (!rs->remote_iomappings)
+@@ -2301,9 +2313,11 @@ static struct rs_iomap_mr *rs_get_iomap_mr(struct rsocket *rs)
+ }
+
+ for (i = 0; i < rs->remote_iomap.length; i++) {
++ printf("%s - looking for empty slot %d\n", __func__, i);
+ if (!rs->remote_iomappings[i].mr)
+ return &rs->remote_iomappings[i];
+ }
++ printf("%s - all slots filled\n", __func__);
+ return NULL;
+ }
+
+@@ -2318,15 +2332,18 @@ off_t riomap(int socket, void *buf, size_t len, int prot, int flags, off_t offse
+ struct rs_iomap_mr *iomr;
+ int access = IBV_ACCESS_LOCAL_WRITE;
+
++ printf("%s\n", __func__);
+ rs = idm_at(&idm, socket);
+ if ((rs->state != rs_connect_rdwr) || (prot & ~(PROT_WRITE | PROT_NONE)))
+ return ERR(EINVAL);
+
+ fastlock_acquire(&rs->iomap_lock);
+ if (prot & PROT_WRITE) {
++ printf("%s - remote mapping\n", __func__);
+ iomr = rs_get_iomap_mr(rs);
+ access |= IBV_ACCESS_REMOTE_WRITE;
+ } else {
++ printf("%s - local mapping\n", __func__);
+ iomr = calloc(1, sizeof *iomr);
+ iomr->index = -1;
+ }
+@@ -2345,11 +2362,13 @@ off_t riomap(int socket, void *buf, size_t len, int prot, int flags, off_t offse
+
+ if (offset == -1)
+ offset = (uintptr_t) buf;
++ printf("%s mapped to offset %lld\n", __func__, offset);
+ iomr->offset = offset;
+ atomic_init(&iomr->refcnt);
+ atomic_set(&iomr->refcnt, 1);
+
+ if (iomr->index >= 0) {
++ printf("%s - map pending\n", __func__);
+ dlist_insert_tail(&iomr->entry, &rs->iomap_queue);
+ rs->iomap_pending = 1;
+ } else {
+@@ -2367,6 +2386,7 @@ int riounmap(int socket, void *buf, size_t len)
+ dlist_entry *entry;
+ int ret = 0;
+
++ printf("%s\n", __func__);
+ rs = idm_at(&idm, socket);
+ fastlock_acquire(&rs->iomap_lock);
+
+@@ -2396,12 +2416,15 @@ out:
+ static struct rs_iomap *rs_find_iomap(struct rsocket *rs, off_t offset)
+ {
+ int i;
++ printf("%s\n", __func__);
+
+ for (i = 0; i < rs->target_iomap_size; i++) {
++ printf("%s - checking target index %d\n", __func__, i);
+ if (offset >= rs->target_iomap[i].offset &&
+ offset < rs->target_iomap[i].offset + rs->target_iomap[i].sge.length)
+ return &rs->target_iomap[i];
+ }
++ printf("%s - offset not found\n", __func__);
+ return NULL;
+ }
+
+@@ -2414,6 +2437,7 @@ size_t riowrite(int socket, const void *buf, size_t count, off_t offset, int fla
+ uint32_t xfer_size, olen = RS_OLAP_START_SIZE;
+ int ret = 0;
+
++ printf("%s\n", __func__);
+ rs = idm_at(&idm, socket);
+ fastlock_acquire(&rs->slock);
+ if (rs->iomap_pending) {
+@@ -2421,6 +2445,7 @@ size_t riowrite(int socket, const void *buf, size_t count, off_t offset, int fla
+ if (ret)
+ goto out;
+ }
++ printf("%s - initiating RDMA write\n", __func__);
+ for (; left; left -= xfer_size, buf += xfer_size, offset += xfer_size) {
+ if (!iom || offset > iom->offset + iom->sge.length) {
+ iom = rs_find_iomap(rs, offset);
+++ /dev/null
-Bottom: b7908a5c682466249184ca18ad389fa1b574c3b9
-Top: 3856535c45f2f5e2ce535550e9fde9f596d71890
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-10-24 16:18:15 -0700
-
-Refresh of iom-dbg
-
----
-
-diff --git a/src/rsocket.c b/src/rsocket.c
-index afcc5b1..7f1839c 100644
---- a/src/rsocket.c
-+++ b/src/rsocket.c
-@@ -46,6 +46,7 @@
- #include <string.h>
- #include <netinet/in.h>
- #include <netinet/tcp.h>
-+#include <stdio.h>
-
- #include <rdma/rdma_cma.h>
- #include <rdma/rdma_verbs.h>
-@@ -1046,6 +1047,7 @@ static int rs_poll_cq(struct rsocket *rs)
- rs->sseq_comp = (uint16_t) rs_msg_data(imm_data);
- break;
- case RS_OP_IOMAP_SGL:
-+ printf("%s - updated iomap %d\n", __func__, rs_msg_data(imm_data));
- /* The iomap was updated, that's nice to know. */
- break;
- case RS_OP_CTRL:
-@@ -1057,6 +1059,7 @@ static int rs_poll_cq(struct rsocket *rs)
- }
- break;
- case RS_OP_WRITE:
-+ printf("%s - write op - BAD\n", __func__);
- /* We really shouldn't be here. */
- break;
- default:
-@@ -1077,6 +1080,7 @@ static int rs_poll_cq(struct rsocket *rs)
- rs->state = rs_disconnected;
- break;
- case RS_OP_IOMAP_SGL:
-+ printf("%s - iomap update completed\n", __func__);
- rs->sqe_avail++;
- rs->sbuf_bytes_avail += sizeof(struct rs_iomap);
- break;
-@@ -1398,6 +1402,7 @@ static int rs_send_iomaps(struct rsocket *rs, int flags)
- struct rs_iomap iom;
- int ret;
-
-+ printf("%s\n", __func__);
- fastlock_acquire(&rs->iomap_lock);
- while (!dlist_empty(&rs->iomap_queue)) {
- if (!rs_can_send(rs)) {
-@@ -1453,7 +1458,12 @@ static int rs_send_iomaps(struct rsocket *rs, int flags)
- break;
- }
-
-+<<<<<<< current
- rs->iomap_pending = !dlist_empty(&rs->iomap_queue);
-+=======
-+ rs->iomap_pending = dlist_empty(&rs->iomap_queue);
-+ printf("%s - pending = %d\n", __func__, rs->iomap_pending);
-+>>>>>>> patched
- fastlock_release(&rs->iomap_lock);
- return ret;
- }
-@@ -2290,7 +2300,9 @@ static struct rs_iomap_mr *rs_get_iomap_mr(struct rsocket *rs)
- {
- int i;
-
-+ printf("%s\n", __func__);
- if (!rs->remote_iomappings) {
-+ printf("%s - allocate remote iomappings\n", __func__);
- rs->remote_iomappings = calloc(rs->remote_iomap.length,
- sizeof(*rs->remote_iomappings));
- if (!rs->remote_iomappings)
-@@ -2301,9 +2313,11 @@ static struct rs_iomap_mr *rs_get_iomap_mr(struct rsocket *rs)
- }
-
- for (i = 0; i < rs->remote_iomap.length; i++) {
-+ printf("%s - looking for empty slot %d\n", __func__, i);
- if (!rs->remote_iomappings[i].mr)
- return &rs->remote_iomappings[i];
- }
-+ printf("%s - all slots filled\n", __func__);
- return NULL;
- }
-
-@@ -2318,15 +2332,18 @@ off_t riomap(int socket, void *buf, size_t len, int prot, int flags, off_t offse
- struct rs_iomap_mr *iomr;
- int access = IBV_ACCESS_LOCAL_WRITE;
-
-+ printf("%s\n", __func__);
- rs = idm_at(&idm, socket);
- if ((rs->state != rs_connect_rdwr) || (prot & ~(PROT_WRITE | PROT_NONE)))
- return ERR(EINVAL);
-
- fastlock_acquire(&rs->iomap_lock);
- if (prot & PROT_WRITE) {
-+ printf("%s - remote mapping\n", __func__);
- iomr = rs_get_iomap_mr(rs);
- access |= IBV_ACCESS_REMOTE_WRITE;
- } else {
-+ printf("%s - local mapping\n", __func__);
- iomr = calloc(1, sizeof *iomr);
- iomr->index = -1;
- }
-@@ -2345,11 +2362,13 @@ off_t riomap(int socket, void *buf, size_t len, int prot, int flags, off_t offse
-
- if (offset == -1)
- offset = (uintptr_t) buf;
-+ printf("%s mapped to offset %lld\n", __func__, offset);
- iomr->offset = offset;
- atomic_init(&iomr->refcnt);
- atomic_set(&iomr->refcnt, 1);
-
- if (iomr->index >= 0) {
-+ printf("%s - map pending\n", __func__);
- dlist_insert_tail(&iomr->entry, &rs->iomap_queue);
- rs->iomap_pending = 1;
- } else {
-@@ -2367,6 +2386,7 @@ int riounmap(int socket, void *buf, size_t len)
- dlist_entry *entry;
- int ret = 0;
-
-+ printf("%s\n", __func__);
- rs = idm_at(&idm, socket);
- fastlock_acquire(&rs->iomap_lock);
-
-@@ -2396,12 +2416,15 @@ out:
- static struct rs_iomap *rs_find_iomap(struct rsocket *rs, off_t offset)
- {
- int i;
-+ printf("%s\n", __func__);
-
- for (i = 0; i < rs->target_iomap_size; i++) {
-+ printf("%s - checking target index %d\n", __func__, i);
- if (offset >= rs->target_iomap[i].offset &&
- offset < rs->target_iomap[i].offset + rs->target_iomap[i].sge.length)
- return &rs->target_iomap[i];
- }
-+ printf("%s - offset not found\n", __func__);
- return NULL;
- }
-
-@@ -2414,6 +2437,7 @@ size_t riowrite(int socket, const void *buf, size_t count, off_t offset, int fla
- uint32_t xfer_size, olen = RS_OLAP_START_SIZE;
- int ret = 0;
-
-+ printf("%s\n", __func__);
- rs = idm_at(&idm, socket);
- fastlock_acquire(&rs->slock);
- if (rs->iomap_pending) {
-@@ -2421,6 +2445,7 @@ size_t riowrite(int socket, const void *buf, size_t count, off_t offset, int fla
- if (ret)
- goto out;
- }
-+ printf("%s - initiating RDMA write\n", __func__);
- for (; left; left -= xfer_size, buf += xfer_size, offset += xfer_size) {
- if (!iom || offset > iom->offset + iom->sge.length) {
- iom = rs_find_iomap(rs, offset);