]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
refresh (create temporary patch)
authorSean Hefty <sean.hefty@intel.com>
Tue, 11 Dec 2012 22:00:12 +0000 (14:00 -0800)
committerSean Hefty <sean.hefty@intel.com>
Tue, 11 Dec 2012 22:00:12 +0000 (14:00 -0800)
meta
patches/refresh-temp [new file with mode: 0644]

diff --git a/meta b/meta
index f2e014dbfc478e27ee24f12a0c0f0ca09b3e476a..56c5f59bc253950cb2e616e0d65f5d4597cadc51 100644 (file)
--- a/meta
+++ b/meta
@@ -1,8 +1,9 @@
 Version: 1
-Previous: f5fecbe46d2ce49b89fef717767c63350c246fc1
-Head: 5d2141db6afad683ee4979635c9a12bf1cf91a6d
+Previous: 0463ed8b3579b98b7e8bb09ea69a9fcc4ba45c75
+Head: 7701ae56cb5f63885c416e1ae221dd12d2eb59d7
 Applied:
   dsocket: 5d2141db6afad683ee4979635c9a12bf1cf91a6d
+  refresh-temp: 7701ae56cb5f63885c416e1ae221dd12d2eb59d7
 Unapplied:
   udpong: c2b5689508747b6ae32bb5dd499e298e41e660a6
   test-udp: f6c78ad2a26f452cf166aff1baa7b76160bd8bf7
diff --git a/patches/refresh-temp b/patches/refresh-temp
new file mode 100644 (file)
index 0000000..0ddac02
--- /dev/null
@@ -0,0 +1,131 @@
+Bottom: 0a9005e21ff77f266c98c49bb8473c3d295a6c35
+Top:    f1822f3bbe2c9b92b5e2ca8b4e5c3cece427c5ff
+Author: Sean Hefty <sean.hefty@intel.com>
+Date:   2012-12-11 14:00:12 -0800
+
+Refresh of dsocket
+
+---
+
+diff --git a/src/rsocket.c b/src/rsocket.c
+index 7dc5409..c61d689 100644
+--- a/src/rsocket.c
++++ b/src/rsocket.c
+@@ -386,7 +386,7 @@ static int rs_add_to_svc(struct rsocket *rs)
+       pthread_mutex_lock(&mut);
+       if (!svc_cnt) {
+-              ret = socketpair(AF_INET, SOCK_STREAM, 0, svc_sock);
++              ret = socketpair(AF_UNIX, SOCK_STREAM, 0, svc_sock);
+               if (ret)
+                       goto err1;
+@@ -402,7 +402,7 @@ static int rs_add_to_svc(struct rsocket *rs)
+       msg.rs = rs;
+       write(svc_sock[0], &msg, sizeof msg);
+       read(svc_sock[0], &msg, sizeof msg);
+-      ret = ERR(msg.status);
++      ret = rdma_seterrno(msg.status);
+       if (ret && !svc_cnt)
+               goto err3;
+@@ -1885,8 +1885,7 @@ static void ds_poll_cqs(struct rsocket *rs)
+       struct ibv_wc wc;
+       int ret, cnt;
+-      qp = rs->qp_list;
+-      if (!qp)
++      if (!(qp = rs->qp_list))
+               return;
+       do {
+@@ -1935,7 +1934,9 @@ static void ds_req_notify_cqs(struct rsocket *rs)
+ {
+       struct ds_qp *qp;
+-      qp = rs->qp_list;
++      if (!(qp = rs->qp_list))
++              return;
++
+       do {
+               if (!qp->cq_armed) {
+                       ibv_req_notify_cq(qp->cm_id->recv_cq, 0);
+@@ -1953,17 +1954,20 @@ static int ds_get_cq_event(struct rsocket *rs)
+       void *context;
+       int ret;
++      printf("%s \n", __func__);
+       if (!rs->cq_armed)
+               return 0;
+       ret = epoll_wait(rs->epfd, &event, 1, -1);
++      printf("%s epoll wait ret %d errno %s\n", __func__, ret, strerror(errno));
+       if (ret <= 0)
+               return ret;
+       qp = event.data.ptr;
+-      ret = ibv_get_cq_event(rs->cm_id->recv_cq_channel, &cq, &context);
++      ret = ibv_get_cq_event(qp->cm_id->recv_cq_channel, &cq, &context);
++      printf("%s get cq event ret %d errno %s\n", __func__, ret, strerror(errno));
+       if (!ret) {
+-              ibv_ack_cq_events(rs->cm_id->recv_cq, 1);
++              ibv_ack_cq_events(qp->cm_id->recv_cq, 1);
+               qp->cq_armed = 0;
+               rs->cq_armed = 0;
+       }
+@@ -1979,25 +1983,29 @@ static int ds_process_cqs(struct rsocket *rs, int nonblock, int (*test)(struct r
+       do {
+               ds_poll_cqs(rs);
+               if (test(rs)) {
++                      printf("%s test succeeded\n", __func__);
+                       ret = 0;
+                       break;
+               } else if (nonblock) {
+                       ret = ERR(EWOULDBLOCK);
++                      printf("%s nonblocking \n", __func__);
+               } else if (!rs->cq_armed) {
++                      printf("%s req notify \n", __func__);
+                       ds_req_notify_cqs(rs);
+                       rs->cq_armed = 1;
+               } else {
+-                      rs_update_credits(rs);
+                       fastlock_acquire(&rs->cq_wait_lock);
+                       fastlock_release(&rs->cq_lock);
+                       ret = ds_get_cq_event(rs);
++                      printf("%s get event ret %d %s\n", __func__, ret, strerror(errno));
+                       fastlock_release(&rs->cq_wait_lock);
+                       fastlock_acquire(&rs->cq_lock);
+               }
+       } while (!ret);
+       fastlock_release(&rs->cq_lock);
++      printf("%s ret %d errno %s\n", __func__, ret, strerror(errno));
+       return ret;
+ }
+@@ -2009,6 +2017,7 @@ static int ds_get_comp(struct rsocket *rs, int nonblock, int (*test)(struct rsoc
+       do {
+               ret = ds_process_cqs(rs, 1, test);
++              printf("%s ret %d errno %s\n", __func__, ret, strerror(errno));
+               if (!ret || nonblock || errno != EWOULDBLOCK)
+                       return ret;
+@@ -2123,12 +2132,16 @@ static ssize_t ds_recvfrom(struct rsocket *rs, void *buf, size_t len, int flags,
+       struct ds_header *hdr;
+       int ret;
++ret = 0;
++      printf("%s \n", __func__);
+       if (!(rs->state & rs_readable))
+               return ERR(EINVAL);
+       if (!rs_have_rdata(rs)) {
++              printf("%s need rdata \n", __func__);
+               ret = ds_get_comp(rs, rs_nonblocking(rs, flags),
+                                 rs_have_rdata);
++              printf("%s ds_get_comp ret %d errno %s\n", __func__, ret, strerror(errno));
+               if (ret)
+                       return ret;
+       }