History

RDMA/hns: Support direct wqe of userspace

The current write wqe mechanism is to write to DDR first, and then notify the hardware through doorbell to read the data. Direct wqe is a mechanism to fill wqe directly into the hardware. In the case of light load, the wqe will be filled into pcie bar space of the hardware, this will reduce one memory access operation and therefore reduce the latency. SIMD instructions allows cpu to write the 512 bits at one time to device memory, thus it can be used for posting direct wqe. Add direct wqe enable switch and address mapping.

Yixing Liu committed 4 years ago

Commit 0045e0d1 parent b1a4da66 files · +94 −12Browse files

Showing the changes to include/uapi (1 of 6 files). Show all

Unified · Split

include/uapi/rdma/hns-abi.h+2−0
@@ -77,10 +77,12 @@ enum hns_roce_qp_cap_flags { · 76 unmodified lines
77 HNS_ROCE_QP_CAP_RQ_RECORD_DB = 1 << 0,77 HNS_ROCE_QP_CAP_RQ_RECORD_DB = 1 << 0,
78 HNS_ROCE_QP_CAP_SQ_RECORD_DB = 1 << 1,78 HNS_ROCE_QP_CAP_SQ_RECORD_DB = 1 << 1,
79 HNS_ROCE_QP_CAP_OWNER_DB = 1 << 2,79 HNS_ROCE_QP_CAP_OWNER_DB = 1 << 2,
80 HNS_ROCE_QP_CAP_DIRECT_WQE = 1 << 5,
80};81};
81 82
82struct hns_roce_ib_create_qp_resp {83struct hns_roce_ib_create_qp_resp {
83 __aligned_u64 cap_flags;84 __aligned_u64 cap_flags;
85 __aligned_u64 dwqe_mmap_key;
84};86};
85 87
86struct hns_roce_ib_alloc_ucontext_resp {88struct hns_roce_ib_alloc_ucontext_resp {