On 2/4/2015 6:29 PM, [email protected] wrote:
> From: Ira Weiny <[email protected]>
> 
> The following patch series modifies the kernel MAD processing (ib_mad/ib_umad)
> and related interfaces to send and receive Intel Omni-Path Architecture MADs 
> on
> devices which support them.
> 
> In addition to supporting some IBTA management classes, OPA devices use MADs
> with lengths up to 2K.  These "jumbo" MADs increase the performance of
> management traffic.
> 
> To distinguish IBTA MADs from OPA MADs a new Base Version is introduced.  

With your recent changes, I don't think that statement above is strictly
true any longer. While OPA does use a different base version for it's
jumbo MADs, aren't OPA MADs distinguished from IBTA MADs by the new OPA
MAD device capability bit ?

> The
> new format shares the same common header with IBTA MADs which allows us to
> share most of the MAD processing code when dealing with the new Base Version.
> 
> 
> The patch series is broken into 3 main areas.
> 
> 1) Add the ability for devices to indicate MAD size.
>    modify the MAD code to use this MAD size
> 
> 2) Enhance the interface to the device agents to support larger and variable
>    length MADs.
> 
> 3) Add capability bit to indicate support for OPA MADs
> 
> 4) Add support for creating and processing OPA MADs
> 
> 
> Changes for V4:
> 
>       Rebased to latest Rolands for-next branch (3.19-rc4)
>       Fixed compile issue in ehca driver found with 0-day build.
> 
> 
> Ira Weiny (19):
>   IB/mad: Rename is_data_mad to is_rmpp_data_mad
>   IB/core: Cache device attributes for use by upper level drivers
>   IB/mad: Change validate_mad signature to take ib_mad_hdr rather than
>     ib_mad
>   IB/mad: Change ib_response_mad signature to take ib_mad_hdr rather
>     than ib_mad
>   IB/mad: Change cast in rcv_has_same_class
>   IB/core: Add max_mad_size to ib_device_attr
>   IB/mad: Convert ib_mad_private allocations from kmem_cache to kmalloc
>   IB/mad: Add helper function for smi_handle_dr_smp_send
>   IB/mad: Add helper function for smi_handle_dr_smp_recv
>   IB/mad: Add helper function for smi_check_forward_dr_smp
>   IB/mad: Add helper function for SMI processing
>   IB/mad: Add MAD size parameters to process_mad
>   IB/mad: Add base version parameter to ib_create_send_mad
>   IB/core: Add IB_DEVICE_OPA_MAD_SUPPORT device cap flag
>   IB/mad: Create jumbo_mad data structures
>   IB/mad: Add Intel Omni-Path Architecture defines
>   IB/mad: Implement support for Intel Omni-Path Architecture base
>     version MADs in ib_create_send_mad
>   IB/mad: Implement Intel Omni-Path Architecture SMP processing
>   IB/mad: Implement Intel Omni-Path Architecture MAD processing
> 
>  drivers/infiniband/core/agent.c              |  26 +-
>  drivers/infiniband/core/agent.h              |   3 +-
>  drivers/infiniband/core/cm.c                 |   6 +-
>  drivers/infiniband/core/device.c             |   2 +
>  drivers/infiniband/core/mad.c                | 519 
> ++++++++++++++++++---------
>  drivers/infiniband/core/mad_priv.h           |   7 +-
>  drivers/infiniband/core/mad_rmpp.c           | 144 ++++----
>  drivers/infiniband/core/opa_smi.h            |  78 ++++
>  drivers/infiniband/core/sa_query.c           |   3 +-
>  drivers/infiniband/core/smi.c                | 231 ++++++++----
>  drivers/infiniband/core/smi.h                |   6 +
>  drivers/infiniband/core/sysfs.c              |   5 +-
>  drivers/infiniband/core/user_mad.c           |  38 +-
>  drivers/infiniband/hw/amso1100/c2_provider.c |   5 +-
>  drivers/infiniband/hw/amso1100/c2_rnic.c     |   1 +
>  drivers/infiniband/hw/cxgb3/iwch_provider.c  |   6 +-
>  drivers/infiniband/hw/cxgb4/provider.c       |   8 +-
>  drivers/infiniband/hw/ehca/ehca_hca.c        |   3 +
>  drivers/infiniband/hw/ehca/ehca_iverbs.h     |   4 +-
>  drivers/infiniband/hw/ehca/ehca_sqp.c        |   8 +-
>  drivers/infiniband/hw/ipath/ipath_mad.c      |   8 +-
>  drivers/infiniband/hw/ipath/ipath_verbs.c    |   1 +
>  drivers/infiniband/hw/ipath/ipath_verbs.h    |   3 +-
>  drivers/infiniband/hw/mlx4/mad.c             |  12 +-
>  drivers/infiniband/hw/mlx4/main.c            |   1 +
>  drivers/infiniband/hw/mlx4/mlx4_ib.h         |   3 +-
>  drivers/infiniband/hw/mlx5/mad.c             |   8 +-
>  drivers/infiniband/hw/mlx5/main.c            |   1 +
>  drivers/infiniband/hw/mlx5/mlx5_ib.h         |   3 +-
>  drivers/infiniband/hw/mthca/mthca_dev.h      |   4 +-
>  drivers/infiniband/hw/mthca/mthca_mad.c      |  12 +-
>  drivers/infiniband/hw/mthca/mthca_provider.c |   2 +
>  drivers/infiniband/hw/nes/nes_verbs.c        |   4 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_ah.c     |   3 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_ah.h     |   3 +-
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.c  |   1 +
>  drivers/infiniband/hw/qib/qib_iba7322.c      |   3 +-
>  drivers/infiniband/hw/qib/qib_mad.c          |  11 +-
>  drivers/infiniband/hw/qib/qib_verbs.c        |   1 +
>  drivers/infiniband/hw/qib/qib_verbs.h        |   3 +-
>  drivers/infiniband/hw/usnic/usnic_ib_verbs.c |   2 +
>  drivers/infiniband/ulp/srpt/ib_srpt.c        |   3 +-
>  include/rdma/ib_mad.h                        |  40 ++-
>  include/rdma/ib_verbs.h                      |  15 +-
>  include/rdma/opa_smi.h                       | 106 ++++++
>  45 files changed, 999 insertions(+), 357 deletions(-)
>  create mode 100644 drivers/infiniband/core/opa_smi.h
>  create mode 100644 include/rdma/opa_smi.h

What performance tests were run in terms of IBTA MADs ?

-- Hal
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to