The last commit was found when I created a XRC SRQ in
lock-free mode but failed to destroy it because of the
refcnt check added in the previous commit.
The failure was because the PAD was acquired through
ibv_srq->pd in destroy_srq(), while ibv_srq->pd wasn't
assigned when the SRQ was created by ibv_create_srq_ex().
So let's assign ibv_srq->pd in the common ibv_icmd_create_srq() ,
so that drivers can get the correct pd no matter
which api the SRQ is created by.
Signed-off-by: Xinghai Cen <cenxinghai@h-partners.com>
(cherry picked from commit 3ac30fc125c7cff122f21ff8593294060c92429f)
Add support for LTTng tracing. For now it is used for post_send, post_recv and poll_cq.
Signed-off-by: Xinghai Cen <cenxinghai@h-partners.com>
(cherry picked from commit 76d4645e3b8a9e57b723e3f7297bda62e934d6f2)
mainline inclusion:
libhns: Fix missing fields for SRQ WC
Modify the information of some patch Fixes
Signed-off-by: Xinghai Cen <cenxinghai@h-partners.com>
(cherry picked from commit 7eebc68b5767eb9e2c89b8333628cd67785bc03c)
Add error logs to help diagnosis.
Signed-off-by: Xinghai Cen <cenxinghai@h-partners.com>
(cherry picked from commit 6aca7044b3705884610a49caac9bed7a7628eccc)
driver inclusion
category: feature
bugzilla: https://gitee.com/src-openeuler/rdma-core/issues/IB7JZL
------------------------------------------------------------------
If the specified send CQ and recv CQ are both
the same CQ, the QP node in SCQ is not deleted.
which causes a segfault to occur when recreating
the QP. Here fix it.
Signed-off-by: Xinghai Cen <cenxinghai@h-partners.com>
(cherry picked from commit a8c29764ee5bbc28c181b8c57a6bd9d2802b25ca)
Fixes several bugs for libhns:
libhns: Fix memory leakage when DCA is enabled
libhns: Fix the exception branch of wr_start() is not locked
Signed-off-by: Xinghai Cen <cenxinghai@h-partners.com>
(cherry picked from commit 62a65084134c9b3be711dc25ef02b900a7b9a345)
Two bugfixes in post_send flow:
libhns: Fix out-of-order issue of requester when setting FENCE
libhns: Fix reference to uninitialized cq pointer
Signed-off-by: Xinghai Cen <cenxinghai@h-partners.com>
(cherry picked from commit 4793d5d71084589b70422fc241883aef0784e847)
chore: drop useless setup macro, cause it duplicates with autosetup
chore: drop useless ldconfig_scriptlets, it has been done through glibc filetriggers since openeuler 1.0
(cherry picked from commit 0f50343f43d30330f821f366cdba55fb65537b37)
[ Upstream commit 65197a4 ]
Library expects ilog2 of psn_size while calculating the stride.
ilog32 returns log2(v) + 1 and the calculation fails since
the psn size is a power of 2 value. Fix by passing psn_size - 1.
Fixes: 0a0e0d0 ("bnxt_re/lib: Adds MSN table capability for Gen P7 adapters")
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
(cherry picked from commit ac4be7ab029ef79b45c1055fb7504643fd129194)
1#2. Replace private patch
3. Remove unused return value
4. Fix several context locks issue
5. libhns: Clean up signed-unsigned mix with relational issue
6. libhns: Fix missing flag when creating qp with hnsdv interface
Signed-off-by: Juan Zhou <zhoujuan51@h-partners.com>
(cherry picked from commit 43ec513a2eec4e13e258257bf1daa1a1b71ff1e4)
These patches support running the roce function in hns roh mode
Signed-off-by: Ke Chen <chenke54@huawei.com>
(cherry picked from commit 1938be0036f3cfe14d1b5a77b03884a06f9009e5)
DCA(Dynamic context attachment) support many RC QPs to share the WQE
buffer in a memory pool, this help reducing the memory consumption
when there are many QPs are inactive.
Signed-off-by: Ran Zhou <zhouran10@h-partners.com>
(cherry picked from commit 994c08d7e68ba906b7f7c16e8528700508af94b1)
When HW is in resetting stage, we could not poll back all the
expected work completions as the HW won't generate cqe anymore.
This patch allows driver to compose the expected wc instead of the HW
during resetting stage. Once the hardware finished resetting, we can
poll cq from hardware again.
Signed-off-by: Ran Zhou <zhouran10@h-partners.com>
(cherry picked from commit 5494e44cf97e65d858c8f7376c0424a833dc8323)
Add support for thread domain (TD) and parent domain (PAD).
When a parent domain holds a thread domain, the associated
data path will be set to lock-free mode to improve performance.
Signed-off-by: Ran Zhou <zhouran10@h-partners.com>
(cherry picked from commit 60b829d79704e6b4611d7040265a7cf852057931)