From: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
To: Doug Ledford <dledford@redhat.com>
Cc: Michael Wang <yun.wang@profitbricks.com>,
Roland Dreier <roland@kernel.org>,
Sean Hefty <sean.hefty@intel.com>,
linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-nfs@vger.kernel.org, netdev@vger.kernel.org,
Hal Rosenstock <hal.rosenstock@gmail.com>,
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>,
Upinder Malhi <umalhi@cisco.com>,
Trond Myklebust <trond.myklebust@primarydata.com>,
"J. Bruce Fields" <bfields@fieldses.org>,
"David S. Miller" <davem@davemloft.net>,
Ira Weiny <ira.weiny@intel.com>,
PJ Waskiewicz <pj.waskiewicz@solidfire.com>,
Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>,
Or Gerlitz <ogerlitz@mellanox.com>,
Jack Morgens
Subject: Re: [PATCH v2 01/17] IB/Verbs: Implement new callback query_transport() for each HW
Date: Wed, 8 Apr 2015 14:10:15 -0600 [thread overview]
Message-ID: <20150408201015.GB28666@obsidianresearch.com> (raw)
In-Reply-To: <1428517786.2980.180.camel@redhat.com>
On Wed, Apr 08, 2015 at 02:29:46PM -0400, Doug Ledford wrote:
> To straighten all this out, lets break management out into the two
> distinct types:
>
> rdma_port_ib_fabric_mgmt() <- fabric specific management tasks: MAD, SM,
> multicast. The proper test for this with my bitmap above is a simple
> transport & RDMA_MGMT_IB test. If will be true for IB and OPA fabrics.
> rdma_port_conn_mgmt() <- connection management, which we currently
> support everything except USNIC (correct Sean?), so a test would be
> something like !(transport & RDMA_TRANSPORT_USNIC). This is then split
> out into two subgroups, IB style and iWARP stype connection management
> (aka, rdma_port_iw_conn_mgmt() and rdma_port_ib_conn_mgmt()). In my
> above bitmap, since I didn't give IBOE its own transport type, these
> subgroups still boil down to the simple tests transport & iWARP and
> transport & IB like they do today.
There is a lot more variation here than just these two tests, and those
two tests won't scale to include OPA.
IB ROCEE OPA
SMI Y N Y (though the OPA smi looked a bit different)
IB SMP Y N N
OPA SMP N N Y
GMP Y Y Y
SA Y N Y
PM Y Y Y (? guessing for OPA)
CM Y Y Y
GMP needs GRH N Y N
It may be unrealistic, but I was hoping we could largely scrub the
opaque 'is spec iWARP, is spec ROCEE' kinds of tests because they
don't tell anyone what it is the code cares about.
Maybe what is needed is a more precise language for the functions:
> > + * cap_ib_mad - Check if the port of device has the capability
> > Infiniband
> > + * Management Datagrams.
As used this seems to mean:
True if the port can do IB/OPA SMP, or GMP management packets on QP0 or
QP1. (Y Y Y) ie: Do we need the MAD layer at all.
ib_smi seems to be true if QP0 is supported (Y N Y)
Maybe the above set would make a lot more sense as:
cap_ib_qp0
cap_ib_qp1
cap_opa_qp0
ib_cm seems to mean that the CM protocol from the IBA is used on the
port (Y Y Y)
ib_sa means the IBA SA protocol is supported (Y Y Y)
ib_mcast true if the IBA SA protocol is used for multicast GIDs (Y N
Y)
ipoib means the port supports the ipoib protocol (Y N ?)
This seem reasonable and understandable, even if they are currently a
bit duplicating.
> Patch 9/17:
>
> Most of the other comments on this patch stand as they are. I would add
> the test:
>
> rdma_port_separate_read_sge(dev, port)
> {
> return dev->port[port]->transport & RDMA_SEPERATE_READ_SGE;
> }
>
> and add the helper function:
>
> rdma_port_get_read_sge(dev, port)
> {
> if (rdma_transport_is_iwarp)
> return 1;
> return dev->port[port]->max_sge;
> }
Hum, that is nice, but it doesn't quite fit with how the ULP needs to
work. The max limit when creating a WR is the value passed into the
qp_cap, not the device maximum limit.
To do this properly we need to extend the qp_cap, and that is just too
big a change. A one bit iWarp quirk is OK for now.
> As Sean pointed out, force_grh should be rdma_dev_is_iboe(). The cm
I actually really prefer cap_mandatory_grh - that is what is going on
here. ie based on that name (as a reviewer) I'd expect to see the mad
layer check that the mandatory GRH is always present, or blow up.
Some of the other checks in this file revolve around pkey, I'm not
sure what rocee does there? cap_pkey_supported ?
Jason
next prev parent reply other threads:[~2015-04-08 20:10 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-07 12:25 [PATCH v2 00/17] IB/Verbs: IB Management Helpers Michael Wang
2015-04-07 12:31 ` [PATCH v2 04/17] IB/Verbs: Use management helper cap_ib_smi() for smi-check Michael Wang
2015-04-07 12:34 ` [PATCH v2 09/17] IB/Verbs: Use helper cap_read_multi_sge() and reform svc_rdma_accept() Michael Wang
[not found] ` <5523CEE4.5060901-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-07 15:46 ` Tom Talpey
[not found] ` <5523FBF1.80304-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2015-04-07 16:05 ` Michael Wang
2015-04-07 17:42 ` Jason Gunthorpe
2015-04-07 12:35 ` [PATCH v2 10/17] IB/Verbs: Adopt management helpers for IB helpers Michael Wang
2015-04-07 18:40 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373A8FBE2A5-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-08 8:24 ` Michael Wang
[not found] ` <5523CF0A.5090206-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-07 20:12 ` Jason Gunthorpe
[not found] ` <20150407201259.GA17147-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-07 20:16 ` Steve Wise
2015-04-08 8:28 ` Michael Wang
2015-04-09 5:36 ` ira.weiny
2015-04-07 20:18 ` Hefty, Sean
2015-04-07 12:36 ` [PATCH v2 11/17] IB/Verbs: Reform link_layer_show() and ib_uverbs_query_port() Michael Wang
[not found] ` <5523CF30.7000608-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-07 18:49 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373A8FBE2FA-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-07 18:56 ` Steve Wise
2015-04-08 8:29 ` Michael Wang
2015-04-07 12:36 ` [PATCH v2 12/17] IB/Verbs: Use management helper cap_ib_cm_dev() for cm-device-check Michael Wang
2015-04-07 12:38 ` [PATCH v2 14/17] IB/Verbs: Reserve legacy transport type for 'struct rdma_dev_addr' Michael Wang
[not found] ` <5523CCD5.6030401-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-07 12:28 ` [PATCH 01/17] IB/Verbs: Implement new callback query_transport() for each HW Michael Wang
[not found] ` <5523CD62.1070102-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-07 12:44 ` Michael Wang
2015-04-07 12:29 ` [PATCH v2 02/17] IB/Verbs: Implement raw management helpers Michael Wang
[not found] ` <5523CDA7.8090902-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-07 21:25 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373A8FBE403-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-08 8:41 ` Michael Wang
2015-04-07 12:30 ` [PATCH v2 03/17] IB/Verbs: Use management helper cap_ib_mad() for mad-check Michael Wang
[not found] ` <5523CDDE.4050209-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-07 17:26 ` Jason Gunthorpe
[not found] ` <20150407172612.GA15704-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-08 8:13 ` Michael Wang
2015-04-07 12:32 ` [PATCH v2 05/17] IB/Verbs: Use management helper cap_ib_cm() for cm-check Michael Wang
2015-04-07 12:32 ` [PATCH v2 06/17] IB/Verbs: Use management helper cap_ib_sa() for sa-check Michael Wang
2015-04-07 12:33 ` [PATCH v2 07/17] IB/Verbs: Use management helper cap_ib_mcast() for mcast-check Michael Wang
2015-04-07 12:34 ` [PATCH v2 08/17] IB/Verbs: Use management helper cap_ipoib() for ipoib-check Michael Wang
2015-04-07 12:37 ` [PATCH v2 13/17] IB/Verbs: Reform cma/ucma with management helpers Michael Wang
[not found] ` <5523CF74.8020004-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-07 21:11 ` Steve Wise
2015-04-07 21:36 ` Hefty, Sean
2015-04-08 9:37 ` Michael Wang
2015-04-08 17:02 ` Hefty, Sean
2015-04-07 12:38 ` [PATCH v2 15/17] IB/Verbs: Reform cma_acquire_dev() " Michael Wang
2015-04-07 12:39 ` [PATCH v2 16/17] IB/Verbs: Cleanup rdma_node_get_transport() Michael Wang
2015-04-07 12:39 ` [PATCH v2 17/17] IB/Verbs: Move rdma_port_get_link_layer() to mlx4 head file Michael Wang
2015-04-08 11:38 ` [PATCH v2 00/17] IB/Verbs: IB Management Helpers Tom Talpey
[not found] ` <5525132F.1020004-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2015-04-08 12:41 ` Michael Wang
[not found] ` <552521EE.5060206-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-08 15:51 ` Jason Gunthorpe
[not found] ` <20150408155145.GA25178-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-08 16:05 ` Michael Wang
2015-04-07 12:42 ` [PATCH v2 01/17] IB/Verbs: Implement new callback query_transport() for each HW Michael Wang
[not found] ` <5523D098.3020007-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-08 18:29 ` Doug Ledford
[not found] ` <1428517786.2980.180.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-04-08 18:41 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373A8FBF0E8-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-08 19:35 ` Jason Gunthorpe
2015-04-08 20:10 ` Jason Gunthorpe [this message]
2015-04-08 20:55 ` Tom Talpey
[not found] ` <20150408201015.GB28666-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-09 9:45 ` Michael Wang
2015-04-09 12:42 ` Michael Wang
2015-04-09 16:00 ` Jason Gunthorpe
[not found] ` <20150409160054.GB2035-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-10 8:19 ` Michael Wang
2015-04-09 14:34 ` Doug Ledford
2015-04-09 16:01 ` Jason Gunthorpe
2015-04-09 21:19 ` Doug Ledford
[not found] ` <1428614348.2980.287.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2015-04-09 21:36 ` Jason Gunthorpe
2015-04-10 7:46 ` Michael Wang
[not found] ` <55277FE8.50107-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-10 16:48 ` Doug Ledford
2015-04-10 6:16 ` ira.weiny
2015-04-10 8:25 ` Michael Wang
2015-04-10 14:56 ` ira.weiny
[not found] ` <20150410061610.GA26288-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-10 16:15 ` Jason Gunthorpe
[not found] ` <20150410161551.GA26419-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-10 17:38 ` ira.weiny
[not found] ` <20150410173836.GE10675-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-10 17:49 ` Doug Ledford
2015-04-10 18:11 ` ira.weiny
2015-04-10 18:04 ` Jason Gunthorpe
[not found] ` <20150410180455.GA1277-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-10 18:24 ` Doug Ledford
2015-04-10 19:17 ` Jason Gunthorpe
[not found] ` <20150410191723.GC1277-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-10 21:06 ` ira.weiny
[not found] ` <20150410210639.GB19907-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-11 0:01 ` Tom Talpey
2015-04-10 20:38 ` ira.weiny
2015-04-10 7:48 ` ira.weiny
[not found] ` <20150410074805.GA11855-W4f6Xiosr+yv7QzWx2u06xL4W9x8LtSr@public.gmane.org>
2015-04-10 17:10 ` Doug Ledford
2015-04-10 17:36 ` Jason Gunthorpe
2015-04-13 7:40 ` Michael Wang
2015-04-10 17:50 ` Tom Talpey
[not found] ` <55280D51.20402-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2015-04-10 18:17 ` Doug Ledford
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=20150408201015.GB28666@obsidianresearch.com \
--to=jgunthorpe@obsidianresearch.com \
--cc=Tatyana.E.Nikolova@intel.com \
--cc=bfields@fieldses.org \
--cc=davem@davemloft.net \
--cc=dledford@redhat.com \
--cc=eli@mellanox.com \
--cc=faisal.latif@intel.com \
--cc=hal.rosenstock@gmail.com \
--cc=hnguyen@de.ibm.com \
--cc=infinipath@intel.com \
--cc=ira.weiny@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=ogerlitz@mellanox.com \
--cc=pj.waskiewicz@solidfire.com \
--cc=raisch@de.ibm.com \
--cc=roland@kernel.org \
--cc=sean.hefty@intel.com \
--cc=swise@opengridcomputing.com \
--cc=tom@opengridcomputing.com \
--cc=trond.myklebust@primarydata.com \
--cc=umalhi@cisco.com \
--cc=yun.wang@profitbricks.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).