From: Michael Wang <yun.wang@profitbricks.com>
To: Roland Dreier <roland@kernel.org>,
Sean Hefty <sean.hefty@intel.com>,
Hal Rosenstock <hal.rosenstock@gmail.com>,
linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Tom Tucker <tom@opengridcomputing.com>,
Steve Wise <swise@opengridcomputing.com>,
Hoang-Nam Nguyen <hnguyen@de.ibm.com>,
Christoph Raisch <raisch@de.ibm.com>,
Mike Marciniszyn <infinipath@intel.com>,
Eli Cohen <eli@mellanox.com>,
Faisal Latif <faisal.latif@intel.com>,
Jack Morgenstein <jackm@dev.mellanox.co.il>,
Or Gerlitz <ogerlitz@mellanox.com>,
Haggai Eran <haggaie@mellanox.com>,
Ira Weiny <ira.weiny@intel.com>, Tom Talpey <tom@talpey.com>,
Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
Doug Ledford <dledford@redhat.com>,
Michael Wang <yun.wang@profitbricks.com>
Subject: [PATCH v3 08/28] IB/Verbs: Reform IB-ulp xprtrdma
Date: Mon, 13 Apr 2015 14:25:43 +0200 [thread overview]
Message-ID: <552BB5C7.1040301@profitbricks.com> (raw)
In-Reply-To: <552BB470.4090407@profitbricks.com>
Use raw management helpers to reform IB-ulp xprtrdma.
Cc: Steve Wise <swise@opengridcomputing.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Cc: Doug Ledford <dledford@redhat.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Michael Wang <yun.wang@profitbricks.com>
---
net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 3 +--
net/sunrpc/xprtrdma/svc_rdma_transport.c | 45 +++++++++++++-------------------
2 files changed, 19 insertions(+), 29 deletions(-)
diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
index f9f13a3..a5bed5b 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c
@@ -117,8 +117,7 @@ static void rdma_build_arg_xdr(struct svc_rqst *rqstp,
static int rdma_read_max_sge(struct svcxprt_rdma *xprt, int sge_count)
{
- if (rdma_node_get_transport(xprt->sc_cm_id->device->node_type) ==
- RDMA_TRANSPORT_IWARP)
+ if (rdma_tech_iwarp(xprt->sc_cm_id->device, xprt->sc_cm_id->port_num))
return 1;
else
return min_t(int, sge_count, xprt->sc_max_sge);
diff --git a/net/sunrpc/xprtrdma/svc_rdma_transport.c b/net/sunrpc/xprtrdma/svc_rdma_transport.c
index f609c1c..a09b7a1 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_transport.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_transport.c
@@ -851,7 +851,7 @@ static struct svc_xprt *svc_rdma_accept(struct svc_xprt *xprt)
struct ib_qp_init_attr qp_attr;
struct ib_device_attr devattr;
int uninitialized_var(dma_mr_acc);
- int need_dma_mr;
+ int need_dma_mr = 0;
int ret;
int i;
@@ -985,35 +985,26 @@ static struct svc_xprt *svc_rdma_accept(struct svc_xprt *xprt)
/*
* Determine if a DMA MR is required and if so, what privs are required
*/
- switch (rdma_node_get_transport(newxprt->sc_cm_id->device->node_type)) {
- case RDMA_TRANSPORT_IWARP:
- newxprt->sc_dev_caps |= SVCRDMA_DEVCAP_READ_W_INV;
- if (!(newxprt->sc_dev_caps & SVCRDMA_DEVCAP_FAST_REG)) {
- need_dma_mr = 1;
- dma_mr_acc =
- (IB_ACCESS_LOCAL_WRITE |
- IB_ACCESS_REMOTE_WRITE);
- } else if (!(devattr.device_cap_flags & IB_DEVICE_LOCAL_DMA_LKEY)) {
- need_dma_mr = 1;
- dma_mr_acc = IB_ACCESS_LOCAL_WRITE;
- } else
- need_dma_mr = 0;
- break;
- case RDMA_TRANSPORT_IB:
- if (!(newxprt->sc_dev_caps & SVCRDMA_DEVCAP_FAST_REG)) {
- need_dma_mr = 1;
- dma_mr_acc = IB_ACCESS_LOCAL_WRITE;
- } else if (!(devattr.device_cap_flags &
- IB_DEVICE_LOCAL_DMA_LKEY)) {
- need_dma_mr = 1;
- dma_mr_acc = IB_ACCESS_LOCAL_WRITE;
- } else
- need_dma_mr = 0;
- break;
- default:
+ if (!rdma_tech_iwarp(newxprt->sc_cm_id->device,
+ newxprt->sc_cm_id->port_num) &&
+ !rdma_ib_or_iboe(newxprt->sc_cm_id->device,
+ newxprt->sc_cm_id->port_num))
goto errout;
+
+ if (!(newxprt->sc_dev_caps & SVCRDMA_DEVCAP_FAST_REG) ||
+ !(devattr.device_cap_flags & IB_DEVICE_LOCAL_DMA_LKEY)) {
+ need_dma_mr = 1;
+ dma_mr_acc = IB_ACCESS_LOCAL_WRITE;
+ if (rdma_tech_iwarp(newxprt->sc_cm_id->device,
+ newxprt->sc_cm_id->port_num) &&
+ !(newxprt->sc_dev_caps & SVCRDMA_DEVCAP_FAST_REG))
+ dma_mr_acc |= IB_ACCESS_REMOTE_WRITE;
}
+ if (rdma_tech_iwarp(newxprt->sc_cm_id->device,
+ newxprt->sc_cm_id->port_num))
+ newxprt->sc_dev_caps |= SVCRDMA_DEVCAP_READ_W_INV;
+
/* Create the DMA MR if needed, otherwise, use the DMA LKEY */
if (need_dma_mr) {
/* Register all of physical memory */
--
2.1.0
next prev parent reply other threads:[~2015-04-13 12:25 UTC|newest]
Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-13 12:20 [PATCH v3 00/28] IB/Verbs: IB Management Helpers Michael Wang
2015-04-13 12:23 ` [PATCH v3 04/28] IB/Verbs: Reform IB-core cm Michael Wang
[not found] ` <552BB552.1030905-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 18:12 ` ira.weiny
2015-04-13 18:12 ` ira.weiny
[not found] ` <20150413181248.GA2464-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-13 18:40 ` Hefty, Sean
2015-04-13 18:40 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373A8FC0A3A-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-13 19:29 ` Jason Gunthorpe
2015-04-13 19:29 ` Jason Gunthorpe
[not found] ` <20150413192930.GA18587-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-13 19:52 ` ira.weiny
2015-04-13 19:52 ` ira.weiny
2015-04-14 7:57 ` Michael Wang
2015-04-14 7:57 ` Michael Wang
2015-04-14 7:50 ` Michael Wang
2015-04-14 7:50 ` Michael Wang
2015-04-13 12:24 ` [PATCH v3 05/28] IB/Verbs: Reform IB-core sa_query Michael Wang
[not found] ` <552BB572.4040300-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 18:14 ` ira.weiny
2015-04-13 18:14 ` ira.weiny
2015-04-13 18:45 ` Hefty, Sean
2015-04-13 18:45 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373A8FC0A58-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-14 8:03 ` Michael Wang
2015-04-14 8:03 ` Michael Wang
2015-04-13 12:25 ` Michael Wang [this message]
2015-04-13 12:26 ` [PATCH v3 09/28] IB/Verbs: Reform IB-core verbs/uverbs_cmd/sysfs Michael Wang
2015-04-13 12:29 ` [PATCH v3 14/28] IB/Verbs: Reform cma_acquire_dev() Michael Wang
2015-04-13 12:29 ` [PATCH v3 15/28] IB/Verbs: Reform rest part in IB-core cma Michael Wang
2015-04-13 12:30 ` [PATCH v3 17/28] IB/Verbs: Use management helper cap_ib_smi() Michael Wang
[not found] ` <552BB470.4090407-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 12:22 ` [PATCH v3 01/28] IB/Verbs: Implement new callback query_transport() Michael Wang
2015-04-13 12:22 ` Michael Wang
2015-04-15 18:36 ` Hal Rosenstock
[not found] ` <552EAF9D.8050400-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-04-15 19:29 ` Hefty, Sean
2015-04-15 19:29 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373A8FC1C7C-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-15 20:39 ` ira.weiny
2015-04-15 20:39 ` ira.weiny
2015-04-15 20:33 ` ira.weiny
2015-04-15 20:33 ` ira.weiny
[not found] ` <20150415203332.GA15877-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-16 11:40 ` Hal Rosenstock
2015-04-16 11:40 ` Hal Rosenstock
2015-04-16 7:30 ` Michael Wang
2015-04-16 7:30 ` Michael Wang
2015-04-13 12:22 ` [PATCH v3 02/28] IB/Verbs: Implement raw management helpers Michael Wang
2015-04-13 12:22 ` Michael Wang
2015-04-13 12:23 ` [PATCH v3 03/28] IB/Verbs: Reform IB-core mad/agent/user_mad Michael Wang
2015-04-13 12:23 ` Michael Wang
2015-04-13 12:24 ` [PATCH v3 06/28] IB/Verbs: Reform IB-core multicast Michael Wang
2015-04-13 12:24 ` Michael Wang
2015-04-13 12:25 ` [PATCH v3 07/28] IB/Verbs: Reform IB-ulp ipoib Michael Wang
2015-04-13 12:25 ` Michael Wang
[not found] ` <552BB5AC.6050101-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 18:16 ` ira.weiny
2015-04-13 18:16 ` ira.weiny
2015-04-13 19:27 ` Jason Gunthorpe
2015-04-13 19:46 ` ira.weiny
[not found] ` <20150413194602.GA21467-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-13 20:01 ` Jason Gunthorpe
2015-04-13 20:01 ` Jason Gunthorpe
[not found] ` <20150413200138.GC19112-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14 14:18 ` ira.weiny
2015-04-14 14:18 ` ira.weiny
[not found] ` <20150414141806.GA7354-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-14 14:32 ` Michael Wang
2015-04-14 14:32 ` Michael Wang
[not found] ` <552D2519.6000500-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-14 15:40 ` ira.weiny
2015-04-14 15:40 ` ira.weiny
[not found] ` <20150414154012.GA13852-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-14 15:51 ` Michael Wang
2015-04-14 15:51 ` Michael Wang
2015-04-14 17:09 ` Hefty, Sean
2015-04-14 17:09 ` Hefty, Sean
2015-04-14 17:25 ` Jason Gunthorpe
2015-04-14 17:25 ` Jason Gunthorpe
[not found] ` <20150414172514.GB7682-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14 17:43 ` ira.weiny
2015-04-14 17:43 ` ira.weiny
[not found] ` <20150414174311.GA28111-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-14 17:59 ` Jason Gunthorpe
2015-04-14 17:59 ` Jason Gunthorpe
[not found] ` <20150414175904.GB13896-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14 18:02 ` Hefty, Sean
2015-04-14 18:02 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373A8FC127C-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-14 18:21 ` Jason Gunthorpe
2015-04-14 18:21 ` Jason Gunthorpe
2015-04-15 7:58 ` Michael Wang
[not found] ` <552E1A1A.4090704-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 16:44 ` Jason Gunthorpe
2015-04-16 16:44 ` Jason Gunthorpe
[not found] ` <20150416164418.GC22946-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-16 17:02 ` Roland Dreier
2015-04-16 17:02 ` Roland Dreier
[not found] ` <CAG4TOxPMaRAR_B69J1_SHaHh8YMW2Unx786t2FbrA8g=05BAgA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-16 17:21 ` Hefty, Sean
2015-04-16 17:21 ` Hefty, Sean
2015-04-16 17:45 ` Jason Gunthorpe
2015-04-16 17:45 ` Jason Gunthorpe
2015-04-17 7:35 ` Michael Wang
2015-04-17 7:35 ` Michael Wang
2015-04-16 17:05 ` Weiny, Ira
2015-04-16 17:05 ` Weiny, Ira
[not found] ` <2807E5FD2F6FDA4886F6618EAC48510E0CC8BFFA-8k97q/ur5Z2krb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-17 7:40 ` Michael Wang
2015-04-17 7:40 ` Michael Wang
[not found] ` <20150413192701.GA19112-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14 8:08 ` Michael Wang
2015-04-14 8:08 ` Michael Wang
2015-04-13 12:26 ` [PATCH v3 10/28] IB/Verbs: Reform cm related part in IB-core cma Michael Wang
2015-04-13 12:26 ` Michael Wang
[not found] ` <552BB60F.60109-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 19:25 ` Hefty, Sean
2015-04-13 19:25 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373A8FC0ACF-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-13 19:50 ` Jason Gunthorpe
2015-04-13 19:50 ` Jason Gunthorpe
2015-04-13 20:31 ` Hefty, Sean
[not found] ` <20150413195040.GB19112-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-15 18:36 ` Hal Rosenstock
2015-04-15 18:36 ` Hal Rosenstock
2015-04-14 8:35 ` Michael Wang
[not found] ` <552CD156.9060709-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-14 15:50 ` ira.weiny
2015-04-14 15:50 ` ira.weiny
[not found] ` <20150414155033.GB13852-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-14 15:58 ` Michael Wang
2015-04-14 15:58 ` Michael Wang
2015-04-13 12:27 ` [PATCH v3 11/28] IB/Verbs: Reform route " Michael Wang
2015-04-13 12:27 ` Michael Wang
2015-04-13 12:28 ` [PATCH v3 12/28] IB/Verbs: Reform mcast " Michael Wang
2015-04-13 12:28 ` Michael Wang
2015-04-13 12:28 ` [PATCH v3 13/28] IB/Verbs: Reserve legacy transport type in 'dev_addr' Michael Wang
2015-04-13 12:28 ` Michael Wang
2015-04-13 12:30 ` [PATCH v3 16/28] IB/Verbs: Use management helper cap_ib_mad() Michael Wang
2015-04-13 12:30 ` Michael Wang
2015-04-13 12:31 ` [PATCH v3 18/28] IB/Verbs: Use management helper cap_ib_cm() Michael Wang
2015-04-13 12:31 ` Michael Wang
2015-04-13 12:32 ` [PATCH v3 19/28] IB/Verbs: Use management helper cap_iw_cm() Michael Wang
2015-04-13 12:32 ` Michael Wang
2015-04-13 12:34 ` [PATCH v3 24/28] IB/Verbs: Use management helper cap_ib_cm_dev() Michael Wang
2015-04-13 12:34 ` Michael Wang
2015-04-13 12:32 ` [PATCH v3 20/28] IB/Verbs: Use management helper cap_ib_sa() Michael Wang
2015-04-13 12:33 ` [PATCH v3 21/28] IB/Verbs: Use management helper cap_ib_mcast() Michael Wang
2015-04-13 12:33 ` [PATCH v3 22/28] IB/Verbs: Use management helper cap_ipoib() Michael Wang
2015-04-13 12:34 ` [PATCH v3 23/28] IB/Verbs: Use management helper cap_read_multi_sge() Michael Wang
2015-04-13 12:35 ` [PATCH v3 25/28] IB/Verbs: Use management helper cap_af_ib() Michael Wang
[not found] ` <552BB801.2010506-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 13:57 ` Or Gerlitz
2015-04-16 13:57 ` Or Gerlitz
[not found] ` <CAJ3xEMiEoosZzHhpoJOLdxmdhRrjOfB=HV6bHhus7E=QmHiwPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-16 14:16 ` Hal Rosenstock
2015-04-16 14:16 ` Hal Rosenstock
[not found] ` <552FC441.5070500-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-04-16 15:09 ` Hefty, Sean
2015-04-16 15:09 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373A8FC23BF-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-16 15:28 ` Michael Wang
2015-04-16 15:28 ` Michael Wang
2015-04-13 12:35 ` [PATCH v3 26/28] IB/Verbs: Use management helper cap_eth_ah() Michael Wang
2015-04-13 12:36 ` [PATCH v3 27/28] IB/Verbs: Clean up rdma_ib_or_iboe() Michael Wang
[not found] ` <552BB85D.7010400-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-13 20:33 ` Jason Gunthorpe
2015-04-13 20:33 ` Jason Gunthorpe
[not found] ` <20150413203350.GA20611-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-14 9:13 ` Michael Wang
2015-04-14 9:13 ` Michael Wang
[not found] ` <552CDA1F.4050609-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 16:43 ` Jason Gunthorpe
2015-04-16 16:43 ` Jason Gunthorpe
[not found] ` <20150416164311.GB22946-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-16 18:07 ` Steve Wise
2015-04-16 18:07 ` Steve Wise
2015-04-17 8:04 ` Michael Wang
2015-04-17 8:04 ` Michael Wang
2015-04-17 8:00 ` Michael Wang
2015-04-17 8:00 ` Michael Wang
2015-04-13 12:37 ` [PATCH v3 28/28] IB/Verbs: Cleanup rdma_node_get_transport() Michael Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=552BB5C7.1040301@profitbricks.com \
--to=yun.wang@profitbricks.com \
--cc=dledford@redhat.com \
--cc=eli@mellanox.com \
--cc=faisal.latif@intel.com \
--cc=haggaie@mellanox.com \
--cc=hal.rosenstock@gmail.com \
--cc=hnguyen@de.ibm.com \
--cc=infinipath@intel.com \
--cc=ira.weiny@intel.com \
--cc=jackm@dev.mellanox.co.il \
--cc=jgunthorpe@obsidianresearch.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=ogerlitz@mellanox.com \
--cc=raisch@de.ibm.com \
--cc=roland@kernel.org \
--cc=sean.hefty@intel.com \
--cc=swise@opengridcomputing.com \
--cc=tom@opengridcomputing.com \
--cc=tom@talpey.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.