svn commit: r273811 - head/contrib/ofed/librdmacm/examples
Navdeep Parhar
np at FreeBSD.org
Wed Oct 29 06:38:08 UTC 2014
On Tue, Oct 28, 2014 at 11:34:11PM -0700, Anthony Cornehl wrote:
> On October 28, 2014 11:24:13 PM PDT, Navdeep Parhar <np at FreeBSD.org> wrote:
> >Author: np
> >Date: Wed Oct 29 06:24:12 2014
> >New Revision: 273811
> >URL: https://svnweb.freebsd.org/changeset/base/273811
> >
> >Log:
> > rping: make sure that the CQ event thread can never poll a CQ after it
> > has been destroyed.
> >
> > Submitted by: Hariprasad at Chelsio dot com
> > Sponsored by: Chelsio Communications
> >
>
> Is this change present upstream? We really should be tracking the originating
> repositories when making changes in OFED packages, but the kernel and
> userspace is several years out of date from what OFED is tracking currently.
The patch was submitted upstream. I'm sure it'll get there eventually.
Navdeep
>
> [1] http://git.openfabrics.org/?p=~shefty/librdmacm.git;a=summary
>
> >Modified:
> > head/contrib/ofed/librdmacm/examples/rping.c
> >
> >Modified: head/contrib/ofed/librdmacm/examples/rping.c
> >==============================================================================
> >--- head/contrib/ofed/librdmacm/examples/rping.c Wed Oct 29 04:32:46
> >2014 (r273810)
> >+++ head/contrib/ofed/librdmacm/examples/rping.c Wed Oct 29 06:24:12
> >2014 (r273811)
> >@@ -40,7 +40,6 @@
> > #include <netinet/in.h>
> > #include <sys/socket.h>
> > #include <netdb.h>
> >-#include <byteswap.h>
> > #include <semaphore.h>
> > #include <arpa/inet.h>
> > #include <pthread.h>
> >@@ -280,10 +279,10 @@ static int rping_cq_event_handler(struct
> > ret = 0;
> >
> > if (wc.status) {
> >- fprintf(stderr, "cq completion failed status %d\n",
> >- wc.status);
> > if (wc.status != IBV_WC_WR_FLUSH_ERR)
> >- ret = -1;
> >+ fprintf(stderr, "cq completion failed status %d\n",
> >+ wc.status);
> >+ ret = -1;
> > goto error;
> > }
> >
> >@@ -800,10 +799,9 @@ static void *rping_persistent_server_thr
> >
> > rping_test_server(cb);
> > rdma_disconnect(cb->child_cm_id);
> >+ pthread_join(cb->cqthread, NULL);
> > rping_free_buffers(cb);
> > rping_free_qp(cb);
> >- pthread_cancel(cb->cqthread);
> >- pthread_join(cb->cqthread, NULL);
> > rdma_destroy_id(cb->child_cm_id);
> > free_cb(cb);
> > return NULL;
> >@@ -888,6 +886,7 @@ static int rping_run_server(struct rping
> >
> > rping_test_server(cb);
> > rdma_disconnect(cb->child_cm_id);
> >+ pthread_join(cb->cqthread, NULL);
> > rdma_destroy_id(cb->child_cm_id);
> > err2:
> > rping_free_buffers(cb);
> >@@ -1053,9 +1052,16 @@ static int rping_run_client(struct rping
> > goto err2;
> > }
> >
> >- rping_test_client(cb);
> >+ ret = rping_test_client(cb);
> >+ if (ret) {
> >+ fprintf(stderr, "rping client failed: %d\n", ret);
> >+ goto err3;
> >+ }
> >+ ret = 0;
> >+err3:
> > rdma_disconnect(cb->cm_id);
> > err2:
> >+ pthread_join(cb->cqthread, NULL);
> > rping_free_buffers(cb);
> > err1:
> > rping_free_qp(cb);
> >_______________________________________________
> >svn-src-head at freebsd.org mailing list
> >http://lists.freebsd.org/mailman/listinfo/svn-src-head
> >To unsubscribe, send any mail to "svn-src-head-unsubscribe at freebsd.org"
>
>
>
More information about the svn-src-head
mailing list