[PATCH RFC v2 rdma-core 0/6] libhns: Add support for Dynamic Context Attachment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The HIP09 introduces the DCA(Dynamic Context Attachment) feature which
supports many RC QPs to share the WQE buffer in a memory pool. If a QP
enables DCA feature, the WQE's buffer will not be allocated when creating
but when the users start to post WRs. This will reduce the memory
consumption when there are too many QPs are inactive.

For more detailed information, please refer to the man pages provided by
the last patch of this series.

This series is associated with the kernel one "RDMA/hns: Add support for
Dynamic Context Attachment", you can review it at:
https://patchwork.kernel.org/project/linux-rdma/cover/1611394994-50363-1-git-send-email-liweihang@xxxxxxxxxx/

Changes since v1:
- Add direct verbs to set the parameters about size that used to
  configuring DCA. 
- Add man pages to explain what is DCA, how does it works and how to use
  it.
- Link: https://patchwork.kernel.org/project/linux-rdma/cover/1612667574-56673-1-git-send-email-liweihang@xxxxxxxxxx/

Weihang Li (1):
  Update kernel headers

Xi Wang (5):
  libhns: Introduce DCA for RC QP
  libhns: Add support for shrinking DCA memory pool
  libhns: Add support for attaching QP's WQE buffer
  libhns: Add direct verb to support config DCA memory pool
  libhns: Add man pages to introduce DCA feature

 CMakeLists.txt                             |   1 +
 debian/ibverbs-providers.install           |   1 +
 debian/ibverbs-providers.lintian-overrides |   4 +-
 debian/ibverbs-providers.symbols           |   5 +
 debian/libibverbs-dev.install              |   6 +
 kernel-headers/rdma/hns-abi.h              |  64 +++++
 libibverbs/cmd_qp.c                        |   3 +-
 libibverbs/man/ibv_create_qp_ex.3          |   1 +
 libibverbs/verbs.h                         |   1 +
 providers/hns/CMakeLists.txt               |   9 +-
 providers/hns/hns_roce_u.c                 |  96 +++++++
 providers/hns/hns_roce_u.h                 |  44 ++++
 providers/hns/hns_roce_u_abi.h             |   1 +
 providers/hns/hns_roce_u_buf.c             | 387 +++++++++++++++++++++++++++++
 providers/hns/hns_roce_u_hw_v2.c           | 138 +++++++++-
 providers/hns/hns_roce_u_hw_v2.h           |   7 +
 providers/hns/hns_roce_u_verbs.c           |  44 +++-
 providers/hns/hnsdv.h                      |  44 ++++
 providers/hns/libhns.map                   |   8 +
 providers/hns/man/CMakeLists.txt           |   6 +
 providers/hns/man/hns_dca.7.md             |  35 +++
 providers/hns/man/hnsdv.7.md               |  34 +++
 providers/hns/man/hnsdv_is_supported.3.md  |  39 +++
 providers/hns/man/hnsdv_open_device.3.md   |  70 ++++++
 redhat/rdma-core.spec                      |   5 +
 suse/rdma-core.spec                        |  19 ++
 26 files changed, 1051 insertions(+), 21 deletions(-)
 create mode 100644 providers/hns/hnsdv.h
 create mode 100644 providers/hns/libhns.map
 create mode 100644 providers/hns/man/CMakeLists.txt
 create mode 100644 providers/hns/man/hns_dca.7.md
 create mode 100644 providers/hns/man/hnsdv.7.md
 create mode 100644 providers/hns/man/hnsdv_is_supported.3.md
 create mode 100644 providers/hns/man/hnsdv_open_device.3.md

-- 
2.8.1




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux