On 2021/2/10 3:54, Jason Gunthorpe wrote:
On Sun, Feb 07, 2021 at 11:12:49AM +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.
One a WQE buffer is allocated it still acts as a normal WQE ring buffer? So this DCA logic is to remap the send queue buffer based on demand for SQEs? How does it interact with the normal max send queue entries reported?
Would like to see proper man pages explaining how this all works for rdma-core.
Jason
Hi Jason,
I'm confused about how to introduce DCA in man pages. Current man pages in rdma-core can be classifed into public and vendor-defined ones. For example, ibv_create_qp.3 in libibverbs/man and mlx5dv.7 in providers/mlx5/man, but most of them is a description for a single interface. If we want to explain how to use DCA and how does it work, should we put a hns_dca.x file in providers/hns/man? Or add a file about hns_dca_open_device() and introduce DCA in it?
And another question, I know the files with a number suffix like ibv_create_qp.3 is for man pages in linux. What about the markdown files with .md suffix like ibv_fork_init.3.md? If we want to add a new one about DCA, which type should we choose?
Thanks Weihang