All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/27] IB/Verbs: IB Management Helpers
@ 2015-04-16  8:04 ` Michael Wang
  0 siblings, 0 replies; 99+ messages in thread
From: Michael Wang @ 2015-04-16  8:04 UTC (permalink / raw)
  To: Roland Dreier, Sean Hefty, Hal Rosenstock,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: Tom Tucker, Steve Wise, Hoang-Nam Nguyen, Christoph Raisch,
	Mike Marciniszyn, Eli Cohen, Faisal Latif, Jack Morgenstein,
	Or Gerlitz, Haggai Eran, Ira Weiny, Tom Talpey, Jason Gunthorpe,
	Doug Ledford, hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb, Michael Wang


Since v3:
  * Apply suggestions from Sean, Ira, Jason, thanks for the comments :-)
    and please remind me if I missed anything :-P
  * No more cap_XX_dev(), all the check are per-port now, use port 1 for
    cases only care about the cm type, can't support mixing cm type device
    in future.

There are plenty of lengthy code to check the transport type of IB device,
or the link layer type of it's port, but actually we are just speculating
whether a particular management/feature is supported by the device/port.

Thus instead of inferring, we should have our own mechanism for IB management
capability/protocol/feature checking, several proposals below.

This patch set will reform the method of getting transport type, we will
now using query_transport() instead of inferring from transport and link
layer respectively, also we defined the new transport type to make the
concept more reasonable.

Mapping List:
		node-type	link-layer	old-transport	new-transport
nes		RNIC		ETH		IWARP		IWARP
amso1100	RNIC		ETH		IWARP		IWARP
cxgb3   	RNIC		ETH		IWARP		IWARP
cxgb4   	RNIC		ETH		IWARP		IWARP
usnic   	USNIC_UDP	ETH		USNIC_UDP	USNIC_UDP
ocrdma  	IB_CA		ETH		IB		IBOE
mlx4    	IB_CA		IB/ETH		IB		IB/IBOE
mlx5    	IB_CA		IB		IB		IB
ehca    	IB_CA		IB		IB		IB
ipath   	IB_CA		IB		IB		IB
mthca   	IB_CA		IB		IB		IB
qib     	IB_CA		IB		IB		IB

For example:
	if (transport == IB) && (link-layer == ETH)
will now become:
	if (query_transport() == IBOE)

Thus we will be able to get rid of the respective transport and link-layer
checking, and it will help us to add new protocol/Technology (like OPA) more
easier, also with the introduced management helpers, IB management logical
will be more clear and easier for extending.

Highlights:
    The patch set covered a wide range of IB stuff, thus for those who are
    familiar with the particular part, your suggestion would be invaluable ;-)

    Patches haven't been tested yet, we appreciate if any one who have these
    HW willing to provide his Tested-by :-)

    Doug suggested the bitmask mechanism:
	https://www.mail-archive.com/linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org/msg23765.html
    which could be the plan for future reforming, we prefer that to be another
    series which focus on semantic and performance.

    This patch-set is somewhat 'bloated' now and it may be a good timing for
    staging, I'd like to suggest we focus on improving existed helpers and push
    all the further reforms into next series ;-)

Proposals:
    Sean:
	https://www.mail-archive.com/linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org/msg23339.html
    Doug:
	https://www.mail-archive.com/linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org/msg23418.html
	https://www.mail-archive.com/linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org/msg23765.html
    Jason:
	https://www.mail-archive.com/linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org/msg23425.html

Michael Wang (27):
    IB/Verbs: Implement new callback query_transport()
    IB/Verbs: Implement raw management helpers
    IB/Verbs: Reform IB-core mad/agent/user_mad
    IB/Verbs: Reform IB-core cm
    IB/Verbs: Reform IB-core sa_query
    IB/Verbs: Reform IB-core multicast
    IB/Verbs: Reform IB-ulp ipoib
    IB/Verbs: Reform IB-ulp xprtrdma
    IB/Verbs: Reform IB-core verbs/uverbs_cmd/sysfs
    IB/Verbs: Reform cm related part in IB-core cma/ucm
    IB/Verbs: Reform route related part in IB-core cma
    IB/Verbs: Reform mcast related part in IB-core cma
    IB/Verbs: Reserve legacy transport type in 'dev_addr'
    IB/Verbs: Reform cma_acquire_dev()
    IB/Verbs: Reform rest part in IB-core cma
    IB/Verbs: Use management helper cap_ib_mad()
    IB/Verbs: Use management helper cap_ib_smi()
    IB/Verbs: Use management helper cap_ib_cm()
    IB/Verbs: Use management helper cap_iw_cm()
    IB/Verbs: Use management helper cap_ib_sa()
    IB/Verbs: Use management helper cap_ib_mcast()
    IB/Verbs: Use management helper cap_ipoib()
    IB/Verbs: Use management helper cap_read_multi_sge()
    IB/Verbs: Use management helper cap_af_ib()
    IB/Verbs: Use management helper cap_eth_ah()
    IB/Verbs: Clean up rdma_ib_or_iboe()
    IB/Verbs: Cleanup rdma_node_get_transport()

---
 drivers/infiniband/core/agent.c              |    4 
 drivers/infiniband/core/cm.c                 |   28 +-
 drivers/infiniband/core/cma.c                |  330 ++++++++++++---------------
 drivers/infiniband/core/device.c             |    1 
 drivers/infiniband/core/mad.c                |   28 +-
 drivers/infiniband/core/multicast.c          |   18 -
 drivers/infiniband/core/sa_query.c           |   41 +--
 drivers/infiniband/core/sysfs.c              |    8 
 drivers/infiniband/core/ucm.c                |    5 
 drivers/infiniband/core/ucma.c               |   27 --
 drivers/infiniband/core/user_mad.c           |   32 +-
 drivers/infiniband/core/uverbs_cmd.c         |    6 
 drivers/infiniband/core/verbs.c              |   33 --
 drivers/infiniband/hw/amso1100/c2_provider.c |    7 
 drivers/infiniband/hw/cxgb3/iwch_provider.c  |    7 
 drivers/infiniband/hw/cxgb4/provider.c       |    7 
 drivers/infiniband/hw/ehca/ehca_hca.c        |    6 
 drivers/infiniband/hw/ehca/ehca_iverbs.h     |    3 
 drivers/infiniband/hw/ehca/ehca_main.c       |    1 
 drivers/infiniband/hw/ipath/ipath_verbs.c    |    7 
 drivers/infiniband/hw/mlx4/main.c            |   10 
 drivers/infiniband/hw/mlx5/main.c            |    7 
 drivers/infiniband/hw/mthca/mthca_provider.c |    7 
 drivers/infiniband/hw/nes/nes_verbs.c        |    6 
 drivers/infiniband/hw/ocrdma/ocrdma_main.c   |    1 
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c  |    6 
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.h  |    3 
 drivers/infiniband/hw/qib/qib_verbs.c        |    7 
 drivers/infiniband/hw/usnic/usnic_ib_main.c  |    1 
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c |    6 
 drivers/infiniband/hw/usnic/usnic_ib_verbs.h |    2 
 drivers/infiniband/ulp/ipoib/ipoib_main.c    |   17 -
 include/rdma/ib_verbs.h                      |  204 +++++++++++++++-
 net/sunrpc/xprtrdma/svc_rdma_recvfrom.c      |    6 
 net/sunrpc/xprtrdma/svc_rdma_transport.c     |   51 +---
 35 files changed, 579 insertions(+), 354 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 99+ messages in thread

end of thread, other threads:[~2015-04-17  8:36 UTC | newest]

Thread overview: 99+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-16  8:04 [PATCH v4 00/27] IB/Verbs: IB Management Helpers Michael Wang
2015-04-16  8:04 ` Michael Wang
2015-04-16  8:04 ` [PATCH v4 01/27] IB/Verbs: Implement new callback query_transport() Michael Wang
2015-04-16  8:07 ` [PATCH v4 08/27] IB/Verbs: Reform IB-ulp xprtrdma Michael Wang
2015-04-16  8:07 ` [PATCH v4 09/27] IB/Verbs: Reform IB-core verbs/uverbs_cmd/sysfs Michael Wang
2015-04-16  8:08 ` [PATCH v4 11/27] IB/Verbs: Reform route related part in IB-core cma Michael Wang
2015-04-16  8:09 ` [PATCH v4 13/27] IB/Verbs: Reserve legacy transport type in 'dev_addr' Michael Wang
2015-04-16  8:09 ` [PATCH v4 14/27] IB/Verbs: Reform cma_acquire_dev() Michael Wang
     [not found]   ` <552F6E43.2070700-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 13:19     ` Hal Rosenstock
2015-04-16 13:19       ` Hal Rosenstock
     [not found]       ` <552FB6CA.1040106-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-04-16 13:35         ` Michael Wang
2015-04-16 13:35           ` Michael Wang
     [not found]           ` <552FBA93.1030304-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 13:41             ` Hal Rosenstock
2015-04-16 13:41               ` Hal Rosenstock
2015-04-16  8:10 ` [PATCH v4 15/27] IB/Verbs: Reform rest part in IB-core cma Michael Wang
2015-04-16  8:12 ` [PATCH v4 18/27] IB/Verbs: Use management helper cap_ib_cm() Michael Wang
2015-04-16  8:12 ` [PATCH v4 20/27] IB/Verbs: Use management helper cap_ib_sa() Michael Wang
     [not found]   ` <552F6EFE.70500-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 13:36     ` Hal Rosenstock
2015-04-16 13:36       ` Hal Rosenstock
     [not found]       ` <552FBAC7.3020304-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-04-16 13:38         ` Michael Wang
2015-04-16 13:38           ` Michael Wang
2015-04-16  8:13 ` [PATCH v4 21/27] IB/Verbs: Use management helper cap_ib_mcast() Michael Wang
2015-04-16  8:14 ` [PATCH v4 23/27] IB/Verbs: Use management helper cap_read_multi_sge() Michael Wang
2015-04-16  8:15 ` [PATCH v4 25/27] IB/Verbs: Use management helper cap_eth_ah() Michael Wang
     [not found] ` <552F6CF2.4000606-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16  8:05   ` [PATCH v4 02/27] IB/Verbs: Implement raw management helpers Michael Wang
2015-04-16  8:05     ` Michael Wang
2015-04-16  8:05   ` [PATCH v4 03/27] IB/Verbs: Reform IB-core mad/agent/user_mad Michael Wang
2015-04-16  8:05     ` Michael Wang
2015-04-16 12:43     ` Hal Rosenstock
     [not found]       ` <552FAE66.6020900-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-04-16 12:51         ` Michael Wang
2015-04-16 12:51           ` Michael Wang
2015-04-16  8:05   ` [PATCH v4 04/27] IB/Verbs: Reform IB-core cm Michael Wang
2015-04-16  8:05     ` Michael Wang
     [not found]     ` <552F6D67.1070509-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 12:43       ` Hal Rosenstock
2015-04-16 12:43         ` Hal Rosenstock
     [not found]         ` <552FAE87.50303-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-04-16 12:55           ` Michael Wang
2015-04-16 12:55             ` Michael Wang
2015-04-16  8:06   ` [PATCH v4 05/27] IB/Verbs: Reform IB-core sa_query Michael Wang
2015-04-16  8:06     ` Michael Wang
2015-04-16  8:06   ` [PATCH v4 06/27] IB/Verbs: Reform IB-core multicast Michael Wang
2015-04-16  8:06     ` Michael Wang
2015-04-16  8:07   ` [PATCH v4 07/27] IB/Verbs: Reform IB-ulp ipoib Michael Wang
2015-04-16  8:07     ` Michael Wang
2015-04-16  8:08   ` [PATCH v4 10/27] IB/Verbs: Reform cm related part in IB-core cma/ucm Michael Wang
2015-04-16  8:08     ` Michael Wang
     [not found]     ` <552F6DEA.9080701-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 13:10       ` Hal Rosenstock
2015-04-16 13:10         ` Hal Rosenstock
     [not found]         ` <552FB4D0.5080302-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-04-16 13:19           ` Michael Wang
2015-04-16 13:19             ` Michael Wang
     [not found]             ` <552FB6EF.80107-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 14:31               ` Hefty, Sean
2015-04-16 14:31                 ` Hefty, Sean
     [not found]                 ` <1828884A29C6694DAF28B7E6B8A82373A8FC22C3-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-16 15:22                   ` Michael Wang
2015-04-16 15:22                     ` Michael Wang
     [not found]                     ` <552FD3BE.4090204-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 17:21                       ` Tom Talpey
2015-04-16 17:21                         ` Tom Talpey
     [not found]                         ` <552FEFAC.6080402-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2015-04-16 17:30                           ` Hefty, Sean
2015-04-16 17:30                             ` Hefty, Sean
     [not found]                             ` <1828884A29C6694DAF28B7E6B8A82373A8FC2508-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-17  8:27                               ` Michael Wang
2015-04-17  8:27                                 ` Michael Wang
2015-04-17  8:11                           ` Michael Wang
2015-04-17  8:11                             ` Michael Wang
2015-04-16 15:58       ` Jason Gunthorpe
2015-04-16 15:58         ` Jason Gunthorpe
2015-04-16 16:55         ` Hefty, Sean
     [not found]           ` <1828884A29C6694DAF28B7E6B8A82373A8FC2452-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-16 16:57             ` Jason Gunthorpe
2015-04-16 16:57               ` Jason Gunthorpe
     [not found]         ` <20150416155823.GB21809-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2015-04-16 17:38           ` Hal Rosenstock
2015-04-16 17:38             ` Hal Rosenstock
     [not found]             ` <552FF37F.8050306-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-04-16 17:41               ` Weiny, Ira
2015-04-16 17:41                 ` Weiny, Ira
2015-04-16 17:48               ` Jason Gunthorpe
2015-04-16 17:48                 ` Jason Gunthorpe
2015-04-17  8:36           ` Michael Wang
2015-04-17  8:36             ` Michael Wang
2015-04-16  8:08   ` [PATCH v4 12/27] IB/Verbs: Reform mcast related part in IB-core cma Michael Wang
2015-04-16  8:08     ` Michael Wang
2015-04-16  8:10   ` [PATCH v4 16/27] IB/Verbs: Use management helper cap_ib_mad() Michael Wang
2015-04-16  8:10     ` Michael Wang
2015-04-16  8:11   ` [PATCH v4 17/27] IB/Verbs: Use management helper cap_ib_smi() Michael Wang
2015-04-16  8:11     ` Michael Wang
2015-04-16  8:12   ` [PATCH v4 19/27] IB/Verbs: Use management helper cap_iw_cm() Michael Wang
2015-04-16  8:12     ` Michael Wang
2015-04-16  8:13   ` [PATCH v4 22/27] IB/Verbs: Use management helper cap_ipoib() Michael Wang
2015-04-16  8:13     ` Michael Wang
2015-04-16  8:14   ` [PATCH v4 24/27] IB/Verbs: Use management helper cap_af_ib() Michael Wang
2015-04-16  8:14     ` Michael Wang
2015-04-16  8:15   ` [PATCH v4 26/27] IB/Verbs: Clean up rdma_ib_or_iboe() Michael Wang
2015-04-16  8:15     ` Michael Wang
2015-04-16  8:15   ` [PATCH v4 27/27] IB/Verbs: Cleanup rdma_node_get_transport() Michael Wang
2015-04-16  8:15     ` Michael Wang
     [not found]     ` <552F6FB4.3060903-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 13:36       ` Hal Rosenstock
2015-04-16 13:36         ` Hal Rosenstock
     [not found]         ` <552FBAD6.6000400-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org>
2015-04-16 13:41           ` Michael Wang
2015-04-16 13:41             ` Michael Wang
     [not found]             ` <552FBBEC.3020606-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 13:42               ` Hal Rosenstock
2015-04-16 13:42                 ` Hal Rosenstock
2015-04-16 13:45                 ` Michael Wang
     [not found]                   ` <552FBCF4.2070105-EIkl63zCoXaH+58JC4qpiA@public.gmane.org>
2015-04-16 13:51                     ` Tom Tucker
2015-04-16 13:51                       ` Tom Tucker

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.