106 Commits

Author SHA1 Message Date
Juan Zhou
4cc4e9a1ad Skip resolving MAC for RDMA over UBLink
For RDMA over UBLink, MAC Layer if replaced by UBLink, and thus the
MAC addr is not nedded. So skip the MAC addr resolving for this mode.

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Signed-off-by: Haoyue Xu <xuhaoyue1@hisilicon.com>
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
Signed-off-by: Juan Zhou <zhoujuan51@h-partners.com>
(cherry picked from commit 333b7848bd0c6a33c5bcfdef18fa6bae578fd7cc)
2023-11-03 11:34:53 +08:00
openeuler-ci-bot
a0dcb93164
!93 [sync] PR-80: Support SRQ record doorbell
From: @openeuler-sync-bot 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-11-03 03:31:54 +00:00
Ran Zhou
ed62e6ed00 Support SRQ record doorbell
driver inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I8A08Z

Compared with normal doorbell, using record doorbell can shorten the
process of ringing the doorbell and reduce the latency.

Signed-off-by: Yangyang Li <liyangyang20@huawei.com>
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
Signed-off-by: Ran Zhou <zhouran10@h-partners.com>
(cherry picked from commit 23f6e3ca5e9fa66b41e3d33a9c4a88429cfc61ab)
2023-11-03 10:55:35 +08:00
openeuler-ci-bot
086a7ec710
!92 [sync] PR-78: RDMA/hns: Support flexible wqe buffer page size
From: @openeuler-sync-bot 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-11-03 02:54:31 +00:00
Ran Zhou
98e759e379 Support flexible WQE buffer page size
In order to improve performance, we allow user-mode drivers to use a
larger page size to allocate WQE buffers, thereby reducing the latency
introduced by HW page switching. User-mode drivers will be allowed to
allocate WQE buffers between 4K to system page size. During
ibv_create_qp(), the driver will dynamically select the appropriate page
size based on ibv_qp_cap, thus reducing memory consumption while improving
performance.

Signed-off-by: Ran Zhou <zhouran10@h-partners.com>
(cherry picked from commit 1a21f45d978a8c469d128838bfd6ef5a72d335e8)
2023-11-03 10:11:54 +08:00
openeuler-ci-bot
22770c260d
!91 [sync] PR-76: libhns: Support reporting wc as software mode
From: @openeuler-sync-bot 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-11-03 02:10:55 +00:00
Juan Zhou
9169b77cd3 Support reporting wc as software mode
1.libhns: Support reporting wc as software mode
2.libhns: return error when post send in reset state
3.libhns: separate the initialization steps of lock
4.libhns: assign doorbell to zero when allocate it
5.libhns: Fix missing reset notification

Signed-off-by: Juan Zhou <zhoujuan51@h-partners.com>
(cherry picked from commit e1b479184479d826a5f78b43e832c667e138ca72)
2023-11-03 09:46:44 +08:00
openeuler-ci-bot
36c9e9df86
!90 [sync] PR-73: Two patchs are uploaded from rdma-core mainline
Merge pull request !90 from openeuler-sync-bot/sync-pr73-openEuler-22.03-LTS-Next-to-master
2023-11-03 01:45:58 +00:00
Juan Zhou
39730a19bc Two patchs are uploaded from rdma-core mainline
1.Remove unnecessary QP checks
2.Fix reference to uninitialized cq pointer

Signed-off-by: Juan Zhou <zhoujuan51@h-partners.com>
(cherry picked from commit 3ab0271a03e49392018be33a06b3078559250a1c)
2023-11-03 09:18:50 +08:00
openeuler-ci-bot
7bdd37a1ff
!89 [sync] PR-71: Support user to choose using UD sl or pktype to adapt MPI APP
From: @openeuler-sync-bot 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-11-02 13:03:15 +00:00
Zhou Juan
ef2166f6b8 Support user to choose using UD sl or pktype to adapt MPI APP
According to Annex17_RoCEv2 (A17.4.5.2), for RoCEv2 UD, a CQE should
carry a flag that indicates if the received frame is an IPv4, IPv6 or
RoCE packet. But currently, the values of the flag corresponding to
these packet types haven't been defined yet in WC.

In UCX, 'sl' in ibv_wc for UD is used as the packet type flag, and the
packet type values have already been defined in the UCX patch of
ed28845b88

Therefore, to adapt UCX, add a create flag to hnsdv_create_qp() to allow
users to choose whether they use 'sl' in ibv_wc as service level or
packet type for UD. For the latter, obtain and translate the packet type
from CQE and fill it to 'sl' in ibv_wc.

Singed-off-by: Juan Zhou <zhoujuan51@h-partners.com>
(cherry picked from commit e102d4c9aa2992c125b26ad5cc237ae002bc6541)
2023-11-02 20:18:35 +08:00
openeuler-ci-bot
3e19c62071
!86 [sync] PR-68: Backport bugfixes for hns
From: @openeuler-sync-bot 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-11-02 02:28:26 +00:00
Zhou Juan
dabf4d530e Backport bugfix for hns
1.Fix the owner bit error of sq in new io
2.Fix incorrect post-send with direct wqe of
3.Add a judgment to the congestion control algorithm

Singed-off-by: Juan Zhou <zhoujuan51@h-partners.com>
(cherry picked from commit 092143ba858a7aba0630fadd416faa2a4e7eaf06)
2023-10-31 19:20:53 +08:00
openeuler-ci-bot
74bc13a3c0
!85 [sync] PR-66: 1. Fix the sge num problem of atomic op; 2. Fix sge tail_len overflow; 3. Disable local invalidate operation
From: @openeuler-sync-bot 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-10-31 09:27:49 +00:00
Zhou Juan
bade32c716 Fix the sge number related errors and remove local invalidate operation
1. The hns hardware logic requires wr->num_sge to be 1 when
performing atomic operations. The code does not judge this
condition, and the current patch adds this constraint.

2. In the sq inline scenario, when num_sge in post_send is not 1, sge
array appears in the for loop without rotation and directly copy
out of bounds.

3. Currently local invalidate operation don't work properly.
Disable it for the time being.
HIP08 and HIP09 hardware does not support this feature, so
delete the associated code.

Signed-off-by: Juan Zhou <zhoujuan51@h-partners.com>
(cherry picked from commit 43c14b73409cf6e63278d5ff68e2694e592e9015)
2023-10-31 16:20:15 +08:00
openeuler-ci-bot
b0988939e2
!74 [sync] PR-65: Add support for SVE Direct WQE for hns
From: @openeuler-sync-bot 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-10-31 06:01:09 +00:00
Zhou Juan
97581b9828 Add support for SVE Direct WQE
Some Kunpeng SoCs do not support the DWQE through NEON
instructions. In this case, the IO path works normally,
but the performance will deteriorate.

For these SoCs that do not support NEON DWQE, they support
DWQE through SVE instructions. This patch supports SVE DWQE
to guarantee the performance of these SoCs. In addition, in
this scenario, DWQE only supports acceleration through SVE's
ldr and str instructions. Other load and store instructions
also cause performance degradation.

Signed-off-by: Juan Zhou <zhoujuan51@h-partners.com>
(cherry picked from commit 268e25f9374021fc4c0d6dabd62e0f360193081f)
2023-07-28 14:50:22 +08:00
openeuler-ci-bot
40af4d2a3d
!69 [sync] PR-64: Support congestion control algorithm configuration
From: @openeuler-sync-bot 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-06-02 10:39:09 +00:00
Zhou Juan
e73844b3ec Support congestion control algorithm configuration
Added the use of direct verbs to implement QP-level
user-configurable congestion control algorithms. Among them,
the user mode driver mainly provides interfaces for users to
choose, and the kernel mode driver is responsible for filling
the resources of different algorithms and providing the
supported algorithm types for user mode.

At the same time, provide a direct verbs interface for users to
query the type of congestion control algorithm.

Signed-off-by: Juan Zhou <zhoujuan51@h-partners.com>
(cherry picked from commit 48ccef6ba011468fe91056398aad863f998569d2)
2023-06-02 11:57:20 +08:00
openeuler-ci-bot
8fbbd26b95
!59 Support reset for hns roce
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-12-16 02:00:44 +00:00
Yixing Liu
8b56ab8b70 Support libhns stop sending db mechanism after reset
Add an interface to the user space, which is used to receive
the kernel reset state. After receiving the reset flag, the
user space stops sending db.

Signed-off-by: Yixing Liu <liuyixing1@huawei.com>
2022-12-14 20:23:39 +08:00
openeuler-ci-bot
675fd56ef0
!56 支持hns roce DCA模式
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-12-01 00:59:51 +00:00
Chengchang Tang
b88a370b79 Support hns roce DCA
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: Chengchang Tang <tangchengchang@huawei.com>
2022-11-30 20:34:42 +08:00
openeuler-ci-bot
c4527766ae
!52 hns roce 支持TD无锁
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-11-29 07:15:38 +00:00
Yixing Liu
1c38175fa1 Add supoort libhns td unlock
This patch add libhns td unlock function.

Signed-off-by: Yixing Liu <liuyixing1@huawei.com>
2022-11-29 14:53:10 +08:00
openeuler-ci-bot
6d64231f65
!50 hns roce支持ROH
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-11-29 06:45:02 +00:00
Guofeng Yue
648d17f1ef Support hns RoH mode
These patches support running the roce function in hns roh mode

Signed-off-by: Guofeng Yue <yueguofeng@hisilicon.com>
2022-11-29 14:25:05 +08:00
openeuler-ci-bot
cb286d0bbb
!48 回合issue #I5Q3S5中提到的bugfix以及rdma-core 41.1中的patch
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-11-07 06:32:02 +00:00
Chengchang Tang
6f27f67e51 Backport patches from 41.1
Backport patches from rdma-core 41.1.

And bugfix patches reported by #I5Q3S5 has also been included.

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
2022-11-06 23:17:09 +08:00
openeuler-ci-bot
bdba7c90b6
!46 解决hns roce DSCP合入时未刷新spec patch list的问题
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-11-02 02:21:32 +00:00
Chengchang Tang
cc1006c917 Fix missing patch list in spec
Patches for hns DSCP was forgotten to add to be added to the spec. And
some mistake in DSCP patch is fixed.

Fixes: 68f61fd0a1a8 ("Add support for hns DSCP")
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
2022-11-01 20:59:41 +08:00
openeuler-ci-bot
9938baab84
!45 Support hns roce DSCP and CQE inline
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-10-31 08:59:04 +00:00
Chengchang Tang
484504d625 Add support for hns DSCP
Support DSCP for hns RoCE.

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
2022-10-31 14:28:29 +08:00
Luoyouming
0759ff83eb Bugfix for sge num and support inline feature
Fix sge num bug, add compatibility for rq inline, support cqe inline

Signed-off-by: Luoyouming <luoyouming@huawei.com>
2022-10-31 14:28:19 +08:00
openeuler-ci-bot
1a0fe62ace
!38 Update to 41.0
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-07-28 12:45:10 +00:00
Chengchang Tang
060786cc7e Update to 41.0
Update rdma-core version from 35.1 to 41.0.

Version 41.0 is the latest version in community until
2022/7/27. It includes some new bugfixes and new features,
we choose this version to facilitate future development.

The patches added to this repo has already included in the
new version, so remove them.

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
2022-07-27 18:26:26 +08:00
openeuler-ci-bot
9908c135be
!36 Backport bugfix for hns SRQ and SGE from rdma-core V36.
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-07-14 03:37:14 +00:00
zhengfeng luo
1725c90650 Backport bugfix for hns SRQ and SGE from rdma-core V36.
Bugfix for hns SRQ and SGE. And also added all related cleanups and
refactorings.

Signed-off-by: zhengfeng luo <luozhengfeng@h-partners.com>
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
2022-07-14 09:13:04 +08:00
openeuler-ci-bot
4a6d042324
!33 modify changlog error
From: @peijiankang 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-06-18 01:32:18 +00:00
peijiankang
38d2b22692 modify changlog error 2022-06-08 15:53:56 +08:00
openeuler-ci-bot
23a99cbab6
!29 [sync] PR-28: Support hns DWQE
Merge pull request !29 from openeuler-sync-bot/sync-pr28-openEuler-22.03-LTS-Next-to-master
2022-01-13 08:52:12 +00:00
Chengchang Tang
4238b9d0b7 Support hns DWQE
Add support for hns DWQE. All its dependent patches are also added.

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
(cherry picked from commit 964c2273a107ddba9cbeea1425b3b9ab73ffe2ca)
2022-01-13 15:24:47 +08:00
openeuler-ci-bot
88f89608f6 !24 update to 35.1
Merge pull request !24 from eaglegai/master
2021-12-21 02:17:02 +00:00
eaglegai
7421d0165a update to 35.1 2021-12-09 19:24:40 +08:00
openeuler-ci-bot
9946661111 !20 use -e para to make transferred meaning take effect
From: @seuzw
Reviewed-by: @LemmyHuang
Signed-off-by: @LemmyHuang
2021-09-26 10:37:12 +00:00
seuzw
ea6d72236d use -e para to make transferred meaning take effect 2021-09-26 17:05:44 +08:00
openeuler-ci-bot
becf4dc8b7 !12 fixbug : increase maximum number of cpus
From: @zhongxuan2
Reviewed-by: @MrRlu
Signed-off-by: @MrRlu
2021-09-24 07:15:01 +00:00
zhongxuan
bc23749c6c increase maximum number of cpus
Signed-off-by: zhongxuan <zhongxuan2@huawei.com>
2021-09-24 11:02:11 +08:00
openeuler-ci-bot
52401cd698 !9 update rdma-core version to 35.0
From: @li-yangyang20
Reviewed-by: @weihang-li
Signed-off-by: @weihang-li
2021-07-05 03:34:25 +00:00
Yangyang Li
e696cb029a Update to 35.0
update rdma-core version from 28.1 to 35.0, version 35.0 is
the latest version in community until 2021/7/5. It includes
some bugfixes and new features, we choose this version to
facilitate future development.

Signed-off-by: Yangyang Li <liyangyang20@huawei.com>
2021-07-05 11:14:43 +08:00