mbox series

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

Message ID 1620652384-34097-1-git-send-email-liweihang@huawei.com (mailing list archive)
Headers show
Series libhns: Add support for Dynamic Context Attachment | expand

Message

Weihang Li May 10, 2021, 1:12 p.m. UTC
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.

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/

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 verbs support to config DCA
  libhns: Add man pages to introduce DCA feature

 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              |  64 +++++
 providers/hns/CMakeLists.txt               |   9 +-
 providers/hns/hns_roce_u.c                 | 100 ++++++++
 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           | 130 ++++++++--
 providers/hns/hns_roce_u_hw_v2.h           |   7 +
 providers/hns/hns_roce_u_verbs.c           |  67 ++++-
 providers/hns/hnsdv.h                      |  61 +++++
 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   |  70 ++++++
 redhat/rdma-core.spec                      |   7 +-
 suse/rdma-core.spec                        |  21 +-
 25 files changed, 1149 insertions(+), 32 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

Comments

Jason Gunthorpe June 4, 2021, 2:39 p.m. UTC | #1
On Mon, May 10, 2021 at 09:12:58PM +0800, Weihang Li wrote:
> 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.
> 
> 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/
> 
> 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 verbs support to config DCA
>   libhns: Add man pages to introduce DCA feature

This should be sent on GitHub

Jason
Weihang Li June 5, 2021, 3:11 a.m. UTC | #2
On 2021/6/4 22:40, Jason Gunthorpe wrote:
> On Mon, May 10, 2021 at 09:12:58PM +0800, Weihang Li wrote:
>> 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.
>>
>> 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/
>>
>> 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 verbs support to config DCA
>>   libhns: Add man pages to introduce DCA feature
> 
> This should be sent on GitHub
> 
> Jason
> 

The implementation needs some modification, so I haven't sent it to github yet.
The next version will be sent to github at the same time, thank you.

Weihang