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
