summaryrefslogtreecommitdiffstats
path: root/sys/contrib
diff options
context:
space:
mode:
authornp <np@FreeBSD.org>2016-01-05 01:58:30 +0000
committernp <np@FreeBSD.org>2016-01-05 01:58:30 +0000
commit5f81d0ce4c8cfb790e494bd31f162eacc0cd6400 (patch)
treef0cb8fa60f1dcc6ac031fc59bd932483d995199a /sys/contrib
parent8a0a03500d5bba63f6f1aa3ef546b113f8a53407 (diff)
downloadFreeBSD-src-5f81d0ce4c8cfb790e494bd31f162eacc0cd6400.zip
FreeBSD-src-5f81d0ce4c8cfb790e494bd31f162eacc0cd6400.tar.gz
Have krping use IB_ACCESS_LOCAL_WRITE because it's required for remote
write or remote atomic operations. Submitted by: Krishnamraju Eraparaju @ Chelsio
Diffstat (limited to 'sys/contrib')
-rw-r--r--sys/contrib/rdma/krping/krping.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/contrib/rdma/krping/krping.c b/sys/contrib/rdma/krping/krping.c
index 6ffaa38..667af40 100644
--- a/sys/contrib/rdma/krping/krping.c
+++ b/sys/contrib/rdma/krping/krping.c
@@ -640,6 +640,7 @@ static int krping_setup_buffers(struct krping_cb *cb)
buf.size = cb->size;
iovbase = cb->rdma_dma_addr;
cb->rdma_mr = ib_reg_phys_mr(cb->pd, &buf, 1,
+ IB_ACCESS_LOCAL_WRITE|
IB_ACCESS_REMOTE_READ|
IB_ACCESS_REMOTE_WRITE,
&iovbase);
@@ -675,8 +676,10 @@ static int krping_setup_buffers(struct krping_cb *cb)
if (cb->mem == MR || cb->mem == MW) {
unsigned flags = IB_ACCESS_REMOTE_READ;
- if (cb->wlat || cb->rlat || cb->bw)
- flags |= IB_ACCESS_REMOTE_WRITE;
+ if (cb->wlat || cb->rlat || cb->bw) {
+ flags |= IB_ACCESS_LOCAL_WRITE |
+ IB_ACCESS_REMOTE_WRITE;
+ }
buf.addr = cb->start_dma_addr;
buf.size = cb->size;
OpenPOWER on IntegriCloud