linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 rdma-core 00/10] libhns: Add support for Dynamic Context Attachment
@ 2021-07-27  7:28 Wenpeng Liang
  2021-07-27  7:28 ` [PATCH v2 rdma-core 01/10] Update kernel headers Wenpeng Liang
                   ` (9 more replies)
  0 siblings, 10 replies; 12+ messages in thread
From: Wenpeng Liang @ 2021-07-27  7:28 UTC (permalink / raw)
  To: jgg, leon; +Cc: linux-rdma, linuxarm

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", and two RFC versions of this series has been
sent before.

Changes since v1:
* Add DCA pyverbs test cases.
* Add a shared memory mechanism to synchronize status of DCA.
* Link: https://patchwork.kernel.org/project/linux-rdma/cover/1620652384-34097-1-git-send-email-liweihang@huawei.com/

No changes since RFC v2.
* Link: https://patchwork.kernel.org/project/linux-rdma/cover/1614847759-33139-1-git-send-email-liweihang@huawei.com/

Changes since RFC 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@huawei.com/

Wenpeng Liang (1):
  Update kernel headers

Xi Wang (9):
  libhns: Introduce DCA for RC QP
  libhns: Add support for shrinking DCA memory pool
  libhns: Add support for attaching QP's WQE buffer
  libhns: Use shared memory to sync DCA status
  libhns: Sync DCA status by shared memory
  libhns: Add direct verbs support to config DCA
  libhns: Add man pages to introduce DCA feature
  pyverbs/hns: Initial support for HNS direct verbs
  tests: Add traffic test of send on HNS DCA QPEx

 CMakeLists.txt                             |   1 +
 debian/control                             |   2 +-
 debian/ibverbs-providers.install           |   1 +
 debian/ibverbs-providers.lintian-overrides |   4 +-
 debian/ibverbs-providers.symbols           |   6 +
 debian/libibverbs-dev.install              |   6 +
 kernel-headers/rdma/hns-abi.h              |  86 ++++++
 kernel-headers/rdma/mlx5-abi.h             |  17 +-
 providers/hns/CMakeLists.txt               |   9 +-
 providers/hns/hns_roce_u.c                 | 229 ++++++++++++++--
 providers/hns/hns_roce_u.h                 |  88 +++++-
 providers/hns/hns_roce_u_abi.h             |   7 +-
 providers/hns/hns_roce_u_buf.c             | 422 +++++++++++++++++++++++++++++
 providers/hns/hns_roce_u_hw_v2.c           | 178 ++++++++++--
 providers/hns/hns_roce_u_hw_v2.h           |   7 +
 providers/hns/hns_roce_u_verbs.c           |  67 ++++-
 providers/hns/hnsdv.h                      |  65 +++++
 providers/hns/libhns.map                   |   9 +
 providers/hns/man/CMakeLists.txt           |   7 +
 providers/hns/man/hns_dca.7.md             |  35 +++
 providers/hns/man/hnsdv.7.md               |  34 +++
 providers/hns/man/hnsdv_create_qp.3.md     |  69 +++++
 providers/hns/man/hnsdv_is_supported.3.md  |  39 +++
 providers/hns/man/hnsdv_open_device.3.md   |  74 +++++
 pyverbs/CMakeLists.txt                     |   1 +
 pyverbs/providers/hns/CMakeLists.txt       |   7 +
 pyverbs/providers/hns/__init__.pxd         |   0
 pyverbs/providers/hns/__init__.py          |   0
 pyverbs/providers/hns/hns_enums.pyx        |   1 +
 pyverbs/providers/hns/hnsdv.pxd            |  25 ++
 pyverbs/providers/hns/hnsdv.pyx            | 158 +++++++++++
 pyverbs/providers/hns/hnsdv_enums.pxd      |  21 ++
 pyverbs/providers/hns/libhns.pxd           |  28 ++
 redhat/rdma-core.spec                      |   7 +-
 suse/rdma-core.spec                        |  21 +-
 tests/hns_base.py                          |  80 ++++++
 tests/test_hns_dca.py                      |  37 +++
 37 files changed, 1781 insertions(+), 67 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_create_qp.3.md
 create mode 100644 providers/hns/man/hnsdv_is_supported.3.md
 create mode 100644 providers/hns/man/hnsdv_open_device.3.md
 create mode 100644 pyverbs/providers/hns/CMakeLists.txt
 create mode 100644 pyverbs/providers/hns/__init__.pxd
 create mode 100644 pyverbs/providers/hns/__init__.py
 create mode 120000 pyverbs/providers/hns/hns_enums.pyx
 create mode 100644 pyverbs/providers/hns/hnsdv.pxd
 create mode 100644 pyverbs/providers/hns/hnsdv.pyx
 create mode 100644 pyverbs/providers/hns/hnsdv_enums.pxd
 create mode 100644 pyverbs/providers/hns/libhns.pxd
 create mode 100644 tests/hns_base.py
 create mode 100644 tests/test_hns_dca.py

--
2.8.1


^ permalink raw reply	[flat|nested] 12+ messages in thread
* [PATCH v2 rdma-core 00/10] libhns: Add support for Dynamic Context Attachment
@ 2021-07-27  3:27 Wenpeng Liang
  2021-07-27  3:27 ` [PATCH v2 rdma-core 02/10] libhns: Introduce DCA for RC QP Wenpeng Liang
  0 siblings, 1 reply; 12+ messages in thread
From: Wenpeng Liang @ 2021-07-27  3:27 UTC (permalink / raw)
  To: jgg, leon; +Cc: linux-rdma, linuxarm

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", and two RFC versions of this series has been
sent before.

Changes since v1:
* Add DCA pyverbs test cases.
* Add a shared memory mechanism to synchronize status of DCA.
* Link: https://patchwork.kernel.org/project/linux-rdma/cover/1620652384-34097-1-git-send-email-liweihang@huawei.com/

No changes since RFC v2.
* Link: https://patchwork.kernel.org/project/linux-rdma/cover/1614847759-33139-1-git-send-email-liweihang@huawei.com/

Changes since RFC 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@huawei.com/

Wenpeng Liang (1):
  Update kernel headers

Xi Wang (9):
  libhns: Introduce DCA for RC QP
  libhns: Add support for shrinking DCA memory pool
  libhns: Add support for attaching QP's WQE buffer
  libhns: Use shared memory to sync DCA status
  libhns: Sync DCA status by shared memory
  libhns: Add direct verbs support to config DCA
  libhns: Add man pages to introduce DCA feature
  pyverbs/hns: Initial support for HNS direct verbs
  tests: Add traffic test of send on HNS DCA QPEx

 CMakeLists.txt                             |   1 +
 debian/control                             |   2 +-
 debian/ibverbs-providers.install           |   1 +
 debian/ibverbs-providers.lintian-overrides |   4 +-
 debian/ibverbs-providers.symbols           |   6 +
 debian/libibverbs-dev.install              |   6 +
 kernel-headers/rdma/hns-abi.h              |  86 ++++++
 kernel-headers/rdma/mlx5-abi.h             |  17 +-
 providers/hns/CMakeLists.txt               |   9 +-
 providers/hns/hns_roce_u.c                 | 229 ++++++++++++++--
 providers/hns/hns_roce_u.h                 |  88 +++++-
 providers/hns/hns_roce_u_abi.h             |   7 +-
 providers/hns/hns_roce_u_buf.c             | 422 +++++++++++++++++++++++++++++
 providers/hns/hns_roce_u_hw_v2.c           | 178 ++++++++++--
 providers/hns/hns_roce_u_hw_v2.h           |   7 +
 providers/hns/hns_roce_u_verbs.c           |  67 ++++-
 pyverbs/CMakeLists.txt                     |   1 +
 pyverbs/providers/hns/CMakeLists.txt       |   7 +
 pyverbs/providers/hns/__init__.pxd         |   0
 pyverbs/providers/hns/__init__.py          |   0
 pyverbs/providers/hns/hns_enums.pyx        |   1 +
 pyverbs/providers/hns/hnsdv.pxd            |  25 ++
 pyverbs/providers/hns/hnsdv.pyx            | 158 +++++++++++
 pyverbs/providers/hns/hnsdv_enums.pxd      |  21 ++
 pyverbs/providers/hns/libhns.pxd           |  28 ++
 redhat/rdma-core.spec                      |   7 +-
 suse/rdma-core.spec                        |  21 +-
 tests/hns_base.py                          |  80 ++++++
 tests/test_hns_dca.py                      |  37 +++
 29 files changed, 1449 insertions(+), 67 deletions(-)
 create mode 100644 pyverbs/providers/hns/CMakeLists.txt
 create mode 100644 pyverbs/providers/hns/__init__.pxd
 create mode 100644 pyverbs/providers/hns/__init__.py
 create mode 120000 pyverbs/providers/hns/hns_enums.pyx
 create mode 100644 pyverbs/providers/hns/hnsdv.pxd
 create mode 100644 pyverbs/providers/hns/hnsdv.pyx
 create mode 100644 pyverbs/providers/hns/hnsdv_enums.pxd
 create mode 100644 pyverbs/providers/hns/libhns.pxd
 create mode 100644 tests/hns_base.py
 create mode 100644 tests/test_hns_dca.py

--
2.8.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-07-27  7:32 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-27  7:28 [PATCH v2 rdma-core 00/10] libhns: Add support for Dynamic Context Attachment Wenpeng Liang
2021-07-27  7:28 ` [PATCH v2 rdma-core 01/10] Update kernel headers Wenpeng Liang
2021-07-27  7:28 ` [PATCH v2 rdma-core 02/10] libhns: Introduce DCA for RC QP Wenpeng Liang
2021-07-27  7:28 ` [PATCH v2 rdma-core 03/10] libhns: Add support for shrinking DCA memory pool Wenpeng Liang
2021-07-27  7:28 ` [PATCH v2 rdma-core 04/10] libhns: Add support for attaching QP's WQE buffer Wenpeng Liang
2021-07-27  7:28 ` [PATCH v2 rdma-core 05/10] libhns: Use shared memory to sync DCA status Wenpeng Liang
2021-07-27  7:28 ` [PATCH v2 rdma-core 06/10] libhns: Sync DCA status by shared memory Wenpeng Liang
2021-07-27  7:28 ` [PATCH v2 rdma-core 07/10] libhns: Add direct verbs support to config DCA Wenpeng Liang
2021-07-27  7:28 ` [PATCH v2 rdma-core 08/10] libhns: Add man pages to introduce DCA feature Wenpeng Liang
2021-07-27  7:28 ` [PATCH v2 rdma-core 09/10] pyverbs/hns: Initial support for HNS direct verbs Wenpeng Liang
2021-07-27  7:28 ` [PATCH v2 rdma-core 10/10] tests: Add traffic test of send on HNS DCA QPEx Wenpeng Liang
  -- strict thread matches above, loose matches on Subject: below --
2021-07-27  3:27 [PATCH v2 rdma-core 00/10] libhns: Add support for Dynamic Context Attachment Wenpeng Liang
2021-07-27  3:27 ` [PATCH v2 rdma-core 02/10] libhns: Introduce DCA for RC QP Wenpeng Liang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).