All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 rdma-next 00/18] Enhance ib_ah_attr to specify types
@ 2017-04-14 23:28 Dasaratharaman Chandramouli
       [not found] ` <1492212538-32459-1-git-send-email-dasaratharaman.chandramouli-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 23+ messages in thread
From: Dasaratharaman Chandramouli @ 2017-04-14 23:28 UTC (permalink / raw)
  To: linux-rdma, Hefty, Sean, Parav Pandit

This patch series introduces a typed address handle attribute
that replaces the exisiting IB specific version. One of the 
drawbacks with the existing attibute was the lack of extensibility
when underlying drivers wanted to leverage specific fields in the
attribute structure. This resulted in some of the fields being used
differently than what it was originally intended for.
This patch addresses that drawback by defining three address handle
types namely 'ib', 'roce' and 'opa'. While these these types share most
of the original fields, the changes provide the infrastucture to 
extend and cleanup the fields based on their types. 

Note that these patches apply on the earlier patch series with subject
"[PATCH v2 0/7] Add support for OPA classport info"

Changes from v1:
---------------

* Collected more common fields onto struct rdma_ah_attr.
  ib_ah_attr now has dlid and src_path_bits as its type
  specific attribute. roce_ah_attr has dmac as its type specific
  attribute. opa ah_attr has the 32 bit dlid and src_path_bits as
  its type specfic attribute.
* Rename struct eth_ah_attr to roce_ah_attr
* Rename RDMA_AH_ATTR_TYPE_ETH to RDMA_AH_ATTR_TYPE_ROCE

The patches are organized as follows:
* The first 3 patches perform checkpatch fixes that later patches
  touch upon.
* Patch 4 fixes user verbs ABI to read and write grh fields
  of the address handle only when the appropriate flags are set.
* Patch 5 has a minor fix the soft roce driver in properly initializing
  ah_attr fields during query
* Patch 6 renames struct ib_ah_attr to rdma_ah_attr
* Patch 7 to 10 renames verbs APIs ib_create_ah, ib_query_ah, ib_modify_ah
  and ib_destroy_ah
* Patches 11 to 14 renames some of the internal driver functions
  so they are in sync with the structure rename of patch 5.
* Patch 15 introduces set/get accessor functions to access
  individual elements of the structure
* Patch 16 applies the accessor functions introduced in patch 15
* Patch 17 re-defines rdma_ah_attr to now contain types 'ib' and 'roce'.
  Calling code that uses the attribute are now expected to have
  knowledge of the type.
* Patch 18 defines the 'opa' address handle type. Changes to calling
  code that leverages opa address handle types will be introduced in
  forthcoming patches which enable 32 bit LID support in the kernel.

Dasaratharaman Chandramouli (18):
  IB/ocrdma: Add identifier names to function definitions
  IB/IPoIB: Remove 'else' when the 'if' has a return.
  IB/core: Add braces when using sizeof
  IB/core: Check for global flag when using ah_attr
  IB/rxe: Initialize ib_ah_attr during query_ah
  IB/core: Rename struct ib_ah_attr to rdma_ah_attr
  IB/core: Rename ib_create_ah to rdma_create_ah
  IB/core: Rename ib_modify_ah to rdma_modify_ah
  IB/core: Rename ib_query_ah to rdma_query_ah
  IB/core: Rename ib_destroy_ah to rdma_destroy_ah
  IB/mlx4: Rename to_ib_ah_attr to to_rdma_ah_attr
  IB/mlx5: Rename to_ib_ah_attr to to_rdma_ah_attr
  IB/mthca: Rename to_ib_ah_attr to to_rdma_ah_attr
  IB/PVRDMA: Rename ib_ah_attr related functions
  IB/core: Add accessor functions for rdma_ah_attr fields
  IB/core: Use rdma_ah_attr accessor functions
  IB/core: Define 'ib' and 'roce' rdma_ah_attr types
  IB/core: Define 'opa' rdma_ah_attr type

 drivers/infiniband/core/agent.c                 |   4 +-
 drivers/infiniband/core/cm.c                    |  24 +--
 drivers/infiniband/core/cma.c                   |   3 +-
 drivers/infiniband/core/mad.c                   |  25 +--
 drivers/infiniband/core/mad_rmpp.c              |  16 +-
 drivers/infiniband/core/multicast.c             |  27 ++-
 drivers/infiniband/core/sa_query.c              |  56 ++++---
 drivers/infiniband/core/user_mad.c              |  44 ++---
 drivers/infiniband/core/uverbs_cmd.c            | 159 +++++++++++-------
 drivers/infiniband/core/uverbs_marshall.c       |  29 ++--
 drivers/infiniband/core/uverbs_std_types.c      |   2 +-
 drivers/infiniband/core/verbs.c                 |  78 +++++----
 drivers/infiniband/hw/bnxt_re/ib_verbs.c        |  96 +++++------
 drivers/infiniband/hw/bnxt_re/ib_verbs.h        |   6 +-
 drivers/infiniband/hw/cxgb3/iwch_provider.c     |   2 +-
 drivers/infiniband/hw/cxgb4/provider.c          |   2 +-
 drivers/infiniband/hw/hfi1/driver.c             |   4 +-
 drivers/infiniband/hw/hfi1/mad.c                |   4 +-
 drivers/infiniband/hw/hfi1/qp.c                 |  12 +-
 drivers/infiniband/hw/hfi1/rc.c                 |  24 +--
 drivers/infiniband/hw/hfi1/ruc.c                |  82 +++++----
 drivers/infiniband/hw/hfi1/uc.c                 |   6 +-
 drivers/infiniband/hw/hfi1/ud.c                 |  55 +++---
 drivers/infiniband/hw/hfi1/verbs.c              |  34 ++--
 drivers/infiniband/hw/hfi1/verbs.h              |   4 +-
 drivers/infiniband/hw/hns/hns_roce_ah.c         |  62 ++++---
 drivers/infiniband/hw/hns/hns_roce_device.h     |   5 +-
 drivers/infiniband/hw/hns/hns_roce_hw_v1.c      | 117 ++++++-------
 drivers/infiniband/hw/i40iw/i40iw_verbs.c       |   2 +-
 drivers/infiniband/hw/mlx4/ah.c                 | 134 ++++++++-------
 drivers/infiniband/hw/mlx4/mad.c                |  87 +++++-----
 drivers/infiniband/hw/mlx4/mcg.c                |   8 +-
 drivers/infiniband/hw/mlx4/mlx4_ib.h            |   6 +-
 drivers/infiniband/hw/mlx4/qp.c                 | 110 ++++++------
 drivers/infiniband/hw/mlx5/ah.c                 |  74 ++++----
 drivers/infiniband/hw/mlx5/mlx5_ib.h            |   4 +-
 drivers/infiniband/hw/mlx5/qp.c                 | 100 +++++------
 drivers/infiniband/hw/mthca/mthca_av.c          |  69 ++++----
 drivers/infiniband/hw/mthca/mthca_dev.h         |   4 +-
 drivers/infiniband/hw/mthca/mthca_mad.c         |  17 +-
 drivers/infiniband/hw/mthca/mthca_provider.c    |   2 +-
 drivers/infiniband/hw/mthca/mthca_qp.c          |  94 ++++++-----
 drivers/infiniband/hw/nes/nes_verbs.c           |   3 +-
 drivers/infiniband/hw/ocrdma/ocrdma.h           |   6 +-
 drivers/infiniband/hw/ocrdma/ocrdma_ah.c        |  64 +++----
 drivers/infiniband/hw/ocrdma/ocrdma_ah.h        |  10 +-
 drivers/infiniband/hw/ocrdma/ocrdma_hw.c        |  23 +--
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c     |  39 ++---
 drivers/infiniband/hw/qedr/qedr.h               |  15 +-
 drivers/infiniband/hw/qedr/qedr_cm.c            |  19 ++-
 drivers/infiniband/hw/qedr/qedr_cm.h            |   2 +-
 drivers/infiniband/hw/qedr/verbs.c              |  47 +++---
 drivers/infiniband/hw/qedr/verbs.h              |   2 +-
 drivers/infiniband/hw/qib/qib_mad.c             |   7 +-
 drivers/infiniband/hw/qib/qib_qp.c              |   2 +-
 drivers/infiniband/hw/qib/qib_rc.c              |  21 ++-
 drivers/infiniband/hw/qib/qib_ruc.c             |  72 ++++----
 drivers/infiniband/hw/qib/qib_uc.c              |   6 +-
 drivers/infiniband/hw/qib/qib_ud.c              |  57 ++++---
 drivers/infiniband/hw/qib/qib_verbs.c           |  22 ++-
 drivers/infiniband/hw/qib/qib_verbs.h           |   4 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.c    |   2 +-
 drivers/infiniband/hw/usnic/usnic_ib_verbs.h    |   2 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma.h       |   8 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c  |  41 ++---
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c    |   8 +-
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c |  30 ++--
 drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h |   2 +-
 drivers/infiniband/sw/rdmavt/ah.c               |  37 ++--
 drivers/infiniband/sw/rdmavt/ah.h               |   6 +-
 drivers/infiniband/sw/rdmavt/mad.c              |   2 +-
 drivers/infiniband/sw/rdmavt/qp.c               |  12 +-
 drivers/infiniband/sw/rxe/rxe_av.c              |  32 ++--
 drivers/infiniband/sw/rxe/rxe_loc.h             |   8 +-
 drivers/infiniband/sw/rxe/rxe_qp.c              |  12 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c           |  17 +-
 drivers/infiniband/ulp/ipoib/ipoib.h            |   2 +-
 drivers/infiniband/ulp/ipoib/ipoib_ib.c         |   6 +-
 drivers/infiniband/ulp/ipoib/ipoib_main.c       |   2 +-
 drivers/infiniband/ulp/ipoib/ipoib_multicast.c  |  61 ++++---
 drivers/infiniband/ulp/srpt/ib_srpt.c           |   4 +-
 include/rdma/ib_marshall.h                      |   2 +-
 include/rdma/ib_sa.h                            |   4 +-
 include/rdma/ib_verbs.h                         | 213 +++++++++++++++++++++---
 include/rdma/rdma_cm.h                          |   2 +-
 include/rdma/rdma_vt.h                          |   8 +-
 include/rdma/rdmavt_qp.h                        |   4 +-
 net/smc/smc_ib.c                                |  11 +-
 88 files changed, 1523 insertions(+), 1129 deletions(-)

-- 
1.8.3.1

--
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] 23+ messages in thread

end of thread, other threads:[~2017-04-19 16:43 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-14 23:28 [PATCH v2 rdma-next 00/18] Enhance ib_ah_attr to specify types Dasaratharaman Chandramouli
     [not found] ` <1492212538-32459-1-git-send-email-dasaratharaman.chandramouli-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-14 23:28   ` [PATCH v2 rdma-next 01/18] IB/ocrdma: Add identifier names to function definitions Dasaratharaman Chandramouli
2017-04-14 23:28   ` [PATCH v2 rdma-next 02/18] IB/IPoIB: Remove 'else' when the 'if' has a return Dasaratharaman Chandramouli
     [not found]     ` <1492212538-32459-3-git-send-email-dasaratharaman.chandramouli-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-19 16:43       ` Leon Romanovsky
2017-04-14 23:28   ` [PATCH v2 rdma-next 03/18] IB/core: Add braces when using sizeof Dasaratharaman Chandramouli
2017-04-14 23:28   ` [PATCH v2 rdma-next 04/18] IB/core: Check for global flag when using ah_attr Dasaratharaman Chandramouli
2017-04-14 23:28   ` [PATCH v2 rdma-next 05/18] IB/rxe: Initialize ib_ah_attr during query_ah Dasaratharaman Chandramouli
     [not found]     ` <1492212538-32459-6-git-send-email-dasaratharaman.chandramouli-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-15 14:34       ` Leon Romanovsky
2017-04-14 23:28   ` [PATCH v2 rdma-next 06/18] IB/core: Rename struct ib_ah_attr to rdma_ah_attr Dasaratharaman Chandramouli
2017-04-14 23:28   ` [PATCH v2 rdma-next 07/18] IB/core: Rename ib_create_ah to rdma_create_ah Dasaratharaman Chandramouli
2017-04-14 23:28   ` [PATCH v2 rdma-next 08/18] IB/core: Rename ib_modify_ah to rdma_modify_ah Dasaratharaman Chandramouli
2017-04-14 23:28   ` [PATCH v2 rdma-next 09/18] IB/core: Rename ib_query_ah to rdma_query_ah Dasaratharaman Chandramouli
2017-04-14 23:28   ` [PATCH v2 rdma-next 10/18] IB/core: Rename ib_destroy_ah to rdma_destroy_ah Dasaratharaman Chandramouli
2017-04-14 23:28   ` [PATCH v2 rdma-next 11/18] IB/mlx4: Rename to_ib_ah_attr to to_rdma_ah_attr Dasaratharaman Chandramouli
     [not found]     ` <1492212538-32459-12-git-send-email-dasaratharaman.chandramouli-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-19 16:42       ` Leon Romanovsky
2017-04-14 23:28   ` [PATCH v2 rdma-next 12/18] IB/mlx5: " Dasaratharaman Chandramouli
     [not found]     ` <1492212538-32459-13-git-send-email-dasaratharaman.chandramouli-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-04-19 16:42       ` Leon Romanovsky
2017-04-14 23:28   ` [PATCH v2 rdma-next 13/18] IB/mthca: " Dasaratharaman Chandramouli
2017-04-14 23:28   ` [PATCH v2 rdma-next 14/18] IB/PVRDMA: Rename ib_ah_attr related functions Dasaratharaman Chandramouli
2017-04-14 23:28   ` [PATCH v2 rdma-next 15/18] IB/core: Add accessor functions for rdma_ah_attr fields Dasaratharaman Chandramouli
2017-04-14 23:28   ` [PATCH v2 rdma-next 16/18] IB/core: Use rdma_ah_attr accessor functions Dasaratharaman Chandramouli
2017-04-14 23:28   ` [PATCH v2 rdma-next 17/18] IB/core: Define 'ib' and 'roce' rdma_ah_attr types Dasaratharaman Chandramouli
2017-04-14 23:28   ` [PATCH v2 rdma-next 18/18] IB/core: Define 'opa' rdma_ah_attr type Dasaratharaman Chandramouli

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.