• C
    RDMA/hns: Introduce DCA for RC QP · f44a2f97
    Chengchang Tang 提交于
    driver inclusion
    category: feature
    bugzilla: https://gitee.com/openeuler/kernel/issues/I63KVU
    
    ----------------------------------------------------------
    
    The hip09 introduces the DCA(Dynamic context attachment) feature which
    supports many RC QPs to share the WQE buffer in a memory pool, this will
    reduce the memory consumption when there are too many QPs are inactive.
    
    If a QP enables DCA feature, the WQE's buffer will not be allocated when
    creating. But when the users start to post WRs, the hns driver will
    allocate a buffer from the memory pool and then fill WQEs which tagged with
    this QP's number.
    
    The hns ROCEE will stop accessing the WQE buffer when the user polled all
    of the CQEs for a DCA QP, then the driver will recycle this WQE's buffer
    to the memory pool.
    
    This patch adds a group of methods to support the user space register
    buffers to a memory pool which belongs to the user context. The hns kernel
    driver will update the pages state in this pool when the user calling the
    post/poll methods and the user driver can get the QP's WQE buffer address
    by the key and offset which queried from kernel.
    Signed-off-by: NChengchang Tang <tangchengchang@huawei.com>
    Reviewed-by: NYangyang Li <liyangyang20@huawei.com>
    Reviewed-by: NYueHaibing <yuehaibing@huawei.com>
    Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
    f44a2f97
hns_roce_device.h 34.1 KB