From 29155a73588f6177145a7bfdbc96ffbc53fa54ab Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Wed, 25 Jul 2012 11:53:29 -0700 Subject: [PATCH] pop (CONFLICT) --- meta | 4 +- patches/dbg | 266 +--------------------------------------------------- 2 files changed, 5 insertions(+), 265 deletions(-) diff --git a/meta b/meta index 428da75e..0cf40362 100644 --- a/meta +++ b/meta @@ -1,5 +1,5 @@ Version: 1 -Previous: 8bf9d7e82195200b916f630c70426f1d9e43860b +Previous: c4cb6ff30c53f7a89d6005bb1c783ad07053ec87 Head: e54585619a1ba8b9e0ef01422953f4231e4daf76 Applied: cma-rm-pd: 2ffda7f2991395570b9e776ff5ae256ca9684771 @@ -8,8 +8,8 @@ Applied: rstream-fork: a1d261650896286989c5197199da7729b3d61fa5 init-getname: 7d988863b218d1b66e3739ec4b6f51acc72b2334 rs-ftp: 28e0744eb89227fbeded485fbad64010b9edf0f6 + dbg: e54585619a1ba8b9e0ef01422953f4231e4daf76 Unapplied: - dbg: 3ec7b3dd2db8422fd840e3cee062c629e7b8f5b6 waitall-buggy: c49c6b56c55385774065f5aa2704078e6ae0ceb8 rs-1sge: 8ec392829399dec7ed5c608b8697a482e5faa2de Hidden: diff --git a/patches/dbg b/patches/dbg index 2722ffaa..41657c49 100644 --- a/patches/dbg +++ b/patches/dbg @@ -1,5 +1,5 @@ -Bottom: e0b82367be775902f3588a79dd714486d21646b3 -Top: 666a13482ed38495f414616597d974158f974a48 +Bottom: 2d7d36989522b9e010497256793038fb2cb5aa9e +Top: 2d7d36989522b9e010497256793038fb2cb5aa9e Author: Sean Hefty Date: 2012-07-18 09:01:43 -0700 @@ -8,264 +8,4 @@ debug fork --- -diff --git a/examples/rstream.c b/examples/rstream.c -index befb7c6..545328b 100644 ---- a/examples/rstream.c -+++ b/examples/rstream.c -@@ -182,6 +182,7 @@ static void show_perf(void) - - static int size_to_count(int size) - { -+ return 100; - if (size >= 1000000) - return 100; - else if (size >= 100000) -diff --git a/src/cma.c b/src/cma.c -index 5280620..54b804e 100755 ---- a/src/cma.c -+++ b/src/cma.c -@@ -48,6 +48,7 @@ - #include - #include - #include -+#include - - #include "cma.h" - #include -@@ -141,6 +142,7 @@ static void ucma_cleanup(void) - free(cma_dev_array); - cma_dev_cnt = 0; - } -+ printf("ucma_cleanup\n"); - } - - static int check_abi_version(void) -@@ -214,6 +216,7 @@ int ucma_init(void) - if (cma_dev_cnt) - return 0; - -+ printf("ucma_init\n"); - pthread_mutex_lock(&mut); - if (cma_dev_cnt) { - pthread_mutex_unlock(&mut); -diff --git a/src/preload.c b/src/preload.c -index f824af3..983ffe1 100644 ---- a/src/preload.c -+++ b/src/preload.c -@@ -48,6 +48,7 @@ - #include - #include - #include -+#include - - #include - #include -@@ -385,6 +386,7 @@ int socket(int domain, int type, int protocol) - if (index < 0) - return index; - -+ printf("socket\n"); - recursive = 1; - ret = rsocket(domain, type, protocol); - recursive = 0; -@@ -399,6 +401,7 @@ int socket(int domain, int type, int protocol) - fd_store(index, ret, fd_rsocket); - set_rsocket_options(ret); - } -+ printf("socket - %d\n", index); - return index; - } - fd_close(index, &ret); -@@ -430,6 +433,7 @@ int bind(int socket, const struct sockaddr *addr, socklen_t addrlen) - int listen(int socket, int backlog) - { - int fd; -+ printf("listen %d\n", socket); - return (fd_get(socket, &fd) == fd_rsocket) ? - rlisten(fd, backlog) : real.listen(fd, backlog); - } -@@ -454,6 +458,7 @@ int accept(int socket, struct sockaddr *addr, socklen_t *addrlen) - - fd_store(index, ret, type); - last_accept = (type == fd_fork) ? index : -1; -+ printf("accept %d\n", socket); - return index; - } else { - last_accept = -1; -@@ -467,14 +472,17 @@ static int connect_fork(int socket, const struct sockaddr *addr, socklen_t addrl - uint32_t msg; - long flags; - -+ printf("connect_fork\n"); - fd = fd_getd(socket); - flags = real.fcntl(fd, F_GETFL); - real.fcntl(fd, F_SETFL, 0); - ret = real.connect(fd, addr, addrlen); -+ printf("connect_fork - real connect %d %s\n", ret, strerror(errno)); - if (ret) - return ret; - - ret = real.recv(fd, &msg, sizeof msg, MSG_PEEK); -+ printf("connect_fork - real recv %d msg %d\n", ret, msg); - if ((ret != sizeof msg) || msg) { - fd_store(socket, fd, fd_normal); - return 0; -@@ -482,10 +490,12 @@ static int connect_fork(int socket, const struct sockaddr *addr, socklen_t addrl - - real.fcntl(fd, F_SETFL, flags); - ret = transpose_socket(socket, fd_rsocket); -+ printf("connect_fork - transpose socket %d\n", ret); - if (ret < 0) - return ret; - - real.close(fd); -+ printf("connect_fork - connecting rsocket"); - return rconnect(ret, addr, addrlen); - } - -@@ -494,6 +504,7 @@ int connect(int socket, const struct sockaddr *addr, socklen_t addrlen) - struct sockaddr_in *sin; - int fd, ret; - -+ printf("conect %d\n", socket); - switch (fd_get(socket, &fd)) { - case fd_fork: - return connect_fork(socket, addr, addrlen); -@@ -834,11 +845,15 @@ pid_t fork(void) - uint32_t msg; - - init_preload(); -+ printf("fork\n"); - pid = real.fork(); -+ printf("fork - pid %d fork_support %d last_accept %d \n", -+ pid, fork_support, last_accept); - if (pid || !fork_support || (last_accept < 0) || - (fd_get(last_accept, &sfd) != fd_fork)) - goto out; - -+ printf("fork - switching to rsocket\n"); - len = sizeof sin6; - ret = real.getsockname(sfd, (struct sockaddr *) &sin6, &len); - if (ret) -@@ -846,33 +861,42 @@ pid_t fork(void) - sin6.sin6_flowinfo = sin6.sin6_scope_id = 0; - memset(&sin6.sin6_addr, 0, sizeof sin6.sin6_addr); - -+ sem_unlink("/rsocket_fork"); - sem = sem_open("/rsocket_fork", O_CREAT | O_RDWR, - S_IRWXU | S_IRWXG, 1); -+ printf("fork - sem_open\n"); -+ printf("fork - sem value %d\n", sem_getvalue(sem, &ret)); - if (sem == SEM_FAILED) - goto out; - - lfd = rsocket(sin6.sin6_family, SOCK_STREAM, 0); -+ printf("fork - rsocket %d\n", lfd); - if (lfd < 0) - goto sclose; - - param = 1; - rsetsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, ¶m, sizeof param); - -+ printf("fork - waiting for semaphore\n"); - sem_wait(sem); - ret = rbind(lfd, (struct sockaddr *) &sin6, sizeof sin6); -+ printf("fork - rbind %d\n", ret); - if (ret) - goto lclose; - - ret = rlisten(lfd, 1); -+ printf("fork - rlisten %d\n", ret); - if (ret) - goto lclose; - - msg = 0; - ret = real.write(sfd, &msg, sizeof msg); -+ printf("fork - real write %d\n", ret); - if (ret != sizeof msg) - goto lclose; - - dfd = raccept(lfd, NULL, NULL); -+ printf("fork - raccept %d %s\n", dfd, strerror(errno)); - if (dfd < 0) - goto lclose; - -@@ -883,6 +907,7 @@ pid_t fork(void) - copysockopts(dfd, sfd, &rs, &real); - real.shutdown(sfd, SHUT_RDWR); - real.close(sfd); -+ printf("fork - using rsocket\n"); - fd_store(last_accept, dfd, fd_rsocket); - - lclose: -diff --git a/src/rsocket.c b/src/rsocket.c -index ed125b3..1d293f7 100644 ---- a/src/rsocket.c -+++ b/src/rsocket.c -@@ -361,7 +361,9 @@ static int rs_init_bufs(struct rsocket *rs) - if (!rs->sbuf) - return -1; - -+ printf("rs init bufs cm_id %p pd %p\n", rs->cm_id, rs->cm_id->pd); - rs->smr = rdma_reg_msgs(rs->cm_id, rs->sbuf, rs->sbuf_size); -+ printf("rs init bufs - after reg %p\n", rs->smr); - if (!rs->smr) - return -1; - -@@ -425,10 +427,12 @@ static int rs_create_ep(struct rsocket *rs) - - rs_set_qp_size(rs); - ret = rs_init_bufs(rs); -+ printf("rs create ep init bufs %d\n", ret); - if (ret) - return ret; - - ret = rs_create_cq(rs); -+ printf("rs create ep - create cq %d\n", ret); - if (ret) - return ret; - -@@ -445,6 +449,7 @@ static int rs_create_ep(struct rsocket *rs) - qp_attr.cap.max_inline_data = rs->sq_inline; - - ret = rdma_create_qp(rs->cm_id, NULL, &qp_attr); -+ printf("rs create ep - create qp %d\n", ret); - if (ret) - return ret; - -@@ -602,16 +607,19 @@ int raccept(int socket, struct sockaddr *addr, socklen_t *addrlen) - struct rs_conn_data *creq, cresp; - int ret; - -+ printf("raccept %d\n", socket); - rs = idm_at(&idm, socket); - new_rs = rs_alloc(rs); - if (!new_rs) - return ERR(ENOMEM); - - ret = rdma_get_request(rs->cm_id, &new_rs->cm_id); -+ printf("raccept get request %d\n", ret); - if (ret) - goto err; - - ret = rs_insert(new_rs); -+ printf("raccept insert %d\n", ret); - if (ret < 0) - goto err; - -@@ -625,6 +633,7 @@ int raccept(int socket, struct sockaddr *addr, socklen_t *addrlen) - rs_set_nonblocking(new_rs, O_NONBLOCK); - - ret = rs_create_ep(new_rs); -+ printf("raccept create ep %d\n", ret); - if (ret) - goto err; - -@@ -632,6 +641,7 @@ int raccept(int socket, struct sockaddr *addr, socklen_t *addrlen) - param = new_rs->cm_id->event->param.conn; - rs_set_conn_data(new_rs, ¶m, &cresp); - ret = rdma_accept(new_rs->cm_id, ¶m); -+ printf("raccept rdma accept %d\n", ret); - if (!ret) - new_rs->state = rs_connect_rdwr; - else if (errno == EAGAIN || errno == EWOULDBLOCK) + -- 2.41.0