mbox series

[V5,for-next,0/3] Add mix multihop addressing for supporting 32K

Message ID 1559976370-46306-1-git-send-email-oulijun@huawei.com (mailing list archive)
Headers show
Series Add mix multihop addressing for supporting 32K | expand

Message

Lijun Ou June 8, 2019, 6:46 a.m. UTC
This patch series mainly adds a mix multihop addressing for support the 32K
specification of send wqe from UM.

It adds the MTR (memory translate region) design for unified management of
MTT (memory translate table). The MTT design requires that the hopnum of
the address space must be the same and cannot meet the requirements of the
current max hopnum of the hip08. The hopnum of sqwqe up to 3 level and
the extend sge up to 1 level. As a result, we add an MTR based on mtt to
solve this problem.

The MTR allows a contiguous address space to use different hopnums, so that
the driver supports the mixed hop feature in UM.

Change from V4:
1. Remove the unnecessary mb().

Change from V3:
1. Remove the simple wrapper around kernel functions from Leon Romanovsky's
reviews.

Change from V2:
1. Remove building error.

Change from V1:
1. Use new API named rdma_for_each_block instead of for_each_sg from Jason
Gunthorpe's reviews.

Lijun Ou (3):
  RDMA/hns: Add mtr support for mixed multihop addressing
  RDMA/hns: Add a group interfaces for optimizing buffers getting flow
  RDMA/hns: Fix bug when wqe num is larger than 16K

 drivers/infiniband/hw/hns/hns_roce_alloc.c  |  99 ++++++
 drivers/infiniband/hw/hns/hns_roce_device.h |  59 ++++
 drivers/infiniband/hw/hns/hns_roce_hem.c    | 460 ++++++++++++++++++++++++++++
 drivers/infiniband/hw/hns/hns_roce_hem.h    |  14 +
 drivers/infiniband/hw/hns/hns_roce_hw_v2.c  | 118 ++++---
 drivers/infiniband/hw/hns/hns_roce_mr.c     | 118 +++++++
 drivers/infiniband/hw/hns/hns_roce_qp.c     | 189 +++++++++---
 7 files changed, 974 insertions(+), 83 deletions(-)

Comments

Doug Ledford June 20, 2019, 5:28 p.m. UTC | #1
On Sat, 2019-06-08 at 14:46 +0800, Lijun Ou wrote:
> This patch series mainly adds a mix multihop addressing for support
> the 32K
> specification of send wqe from UM.
> 
> It adds the MTR (memory translate region) design for unified
> management of
> MTT (memory translate table). The MTT design requires that the hopnum
> of
> the address space must be the same and cannot meet the requirements of
> the
> current max hopnum of the hip08. The hopnum of sqwqe up to 3 level and
> the extend sge up to 1 level. As a result, we add an MTR based on mtt
> to
> solve this problem.
> 
> The MTR allows a contiguous address space to use different hopnums, so
> that
> the driver supports the mixed hop feature in UM.
> 
> Change from V4:
> 1. Remove the unnecessary mb().

It looks like you addressed all comments lef ton v4, so after looking
through this eye bleeder, applied to for-next, thanks.