54 Commits

Author SHA1 Message Date
openeuler-ci-bot
6d19d207ea
!78 RDMA/hns: Support flexible wqe buffer page size
From: @zzry 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-10-24 11:07:49 +00:00
Ran Zhou
1a21f45d97 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>
2023-10-24 15:05:34 +08:00
openeuler-ci-bot
5fffeb8765
!76 libhns: Support reporting wc as software mode
From: @stinft 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-09-28 06:05:07 +00:00
Juan Zhou
e1b4791844 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>
2023-09-26 20:59:51 +08:00
openeuler-ci-bot
8ecd2efed9
!73 Two patchs are uploaded from rdma-core mainline
From: @stinft 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-07-27 12:01:01 +00:00
Juan Zhou
3ab0271a03 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>
2023-07-27 09:34:01 +08:00
openeuler-ci-bot
a782e69a16
!72 [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-06-09 09:53:46 +00:00
Zhou Juan
b9d5d250f3 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-06-09 13:53:56 +08:00
openeuler-ci-bot
e8d1a4d663
!70 [sync] PR-68: Backport bugfixes for hns
From: @openeuler-sync-bot 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-06-02 10:38:23 +00:00
Zhou Juan
9004055930 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-06-02 17:10:16 +08:00
openeuler-ci-bot
f79f381ab0
!66 1. Fix the sge num problem of atomic op; 2. Fix sge tail_len overflow; 3. Disable local invalidate operation
From: @stinft 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-05-15 12:37:31 +00:00
Zhou Juan
43c14b7340 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>
2023-05-15 18:40:59 +08:00
openeuler-ci-bot
2e54531e06
!65 Add support for SVE Direct WQE for hns
From: @stinft 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-04-19 11:24:36 +00:00
Zhou Juan
268e25f937 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>
2023-04-19 11:36:35 +08:00
openeuler-ci-bot
aafe827d27
!64 Support congestion control algorithm configuration
From: @stinft 
Reviewed-by: @hellotcc 
Signed-off-by: @hellotcc
2023-04-17 02:04:07 +00:00
Zhou Juan
48ccef6ba0 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>
2023-04-13 15:22:58 +08:00
openeuler-ci-bot
61432d3a10
!61 [sync] PR-59: Support reset for hns roce
From: @openeuler-sync-bot 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-12-16 02:55:15 +00:00
Yixing Liu
62cc5a52dc 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>
(cherry picked from commit 8b56ab8b70262183cac5995dcb395ec099cc89a4)
2022-12-16 10:01:48 +08:00
openeuler-ci-bot
579ff1d0b2
!58 [sync] PR-56: 支持hns roce DCA模式
From: @openeuler-sync-bot 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-12-01 01:23:43 +00:00
Chengchang Tang
b731de85ba 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>
(cherry picked from commit b88a370b79cd9b93f9a587c1e4e0d9c89d0b1d1e)
2022-12-01 09:04:57 +08:00
openeuler-ci-bot
3593a3f998
!55 [sync] PR-53: [sync] PR-52: hns roce 支持TD无锁
From: @openeuler-sync-bot 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-11-29 08:50:06 +00:00
Yixing Liu
3a7b51373c Add supoort libhns td unlock
This patch add libhns td unlock function.

Signed-off-by: Yixing Liu <liuyixing1@huawei.com>
(cherry picked from commit 1c38175fa12c69b790201fae078017a74fdb0a41)
(cherry picked from commit 72a6679aea8e4e5c8d1864bb0caa5edafb6ad1ea)
2022-11-29 16:03:31 +08:00
openeuler-ci-bot
708a2aea05
!54 [sync] PR-51: [sync] PR-50: hns roce支持ROH
From: @openeuler-sync-bot 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-11-29 08:01:12 +00:00
Guofeng Yue
2fd3eea19c Support hns RoH mode
These patches support running the roce function in hns roh mode

Signed-off-by: Guofeng Yue <yueguofeng@hisilicon.com>
(cherry picked from commit 648d17f1efa1ca1c458618421ab01a0c4b8872af)
(cherry picked from commit 08d265affcb38d014d69436b5200692612baa394)
2022-11-29 15:44:50 +08:00
openeuler-ci-bot
8b8ad56bcc
!49 [sync] PR-48: 回合issue #I5Q3S5中提到的bugfix以及rdma-core 41.1中的patch
From: @openeuler-sync-bot 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-11-07 06:49:34 +00:00
Chengchang Tang
0f64d55dba 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>
(cherry picked from commit 6f27f67e51b251ea5185fa61a635ab9fdb64d467)
2022-11-07 14:32:09 +08:00
openeuler-ci-bot
d44fe8f0eb
!47 【22.03-next】Support hns roce DSCP and CQE inline
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-11-02 02:22:05 +00:00
Chengchang Tang
0025a5cf22 Add support for hns DSCP
Support DSCP for hns RoCE.

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
2022-11-01 21:03:57 +08:00
Luoyouming
9f33bcde0c 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 17:10:02 +08:00
openeuler-ci-bot
5e0943666e
!43 Update to 41.0
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-09-27 09:04:23 +00:00
Chengchang Tang
3cf87668d0 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-09-27 11:42:43 +08:00
openeuler-ci-bot
ea0b8c61a8
!42 libhns: Remove support for HIP06
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-09-09 09:31:58 +00:00
zhengfeng luo
425b445513 libhns: Remove support for HIP06
HIP06 is no longer supported. So, backport these patches from
rdma-core v41 to remove support for HIP06.

Signed-off-by: zhengfeng luo <luozhengfeng@h-partners.com>
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
2022-09-09 17:05:34 +08:00
openeuler-ci-bot
3b28e632a2
!41 Backport batch of patches for hns
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-08-30 01:56:15 +00:00
zhengfeng luo
910edf6453 Support CQ_EX for hns
Add support for hns CQ_EX and all its dependent patches are also added.

Signed-off-by: zhengfeng luo <luozhengfeng@h-partners.com>
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
2022-08-29 21:05:59 +08:00
zhengfeng luo
123f94ea3f Backport batch of bugfix and refactor patches for hns from rdma-core v39
These patches are mainly related to IO operations.

Signed-off-by: zhengfeng luo <luozhengfeng@h-partners.com>
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
2022-08-29 21:05:49 +08:00
openeuler-ci-bot
1b814e6f95
!40 Backport logging API from rdma-core v37 and cleanup patches for hns from v38
From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-08-05 09:02:54 +00:00
zhengfeng luo
8a4dc015b4 Backport logging API and some cleanups for hns from rdma-core v37
1.Adding logging API for rdma-core.

2.Adding hns cleanups in rdma-core v37.

Signed-off-by: zhengfeng luo <luozhengfeng@h-partners.com>
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
2022-08-05 11:48:52 +08:00
openeuler-ci-bot
8f12e9c820
!37 [sync] PR-36: Backport bugfix for hns SRQ and SGE from rdma-core V36.
From: @openeuler-sync-bot 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-07-15 03:07:41 +00:00
zhengfeng luo
ae045a5e81 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>
(cherry picked from commit 1725c906505414af1774a0e787b286c6ced8c027)
2022-07-14 21:15:21 +08:00
openeuler-ci-bot
57443d4337
!35 【轻量级PR】修正changelog中的错误日期
From: @konglidong 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
2022-07-14 13:13:33 +00:00
konglidong
b5f58b84e8 modify bad date in changelog 2022-06-20 14:20:56 +08:00
openeuler-ci-bot
e212366712
!28 Support hns DWQE
Merge pull request !28 from tcc@hello/openEuler-22.03-LTS-Next
2022-01-13 06:16:44 +00:00
Chengchang Tang
964c2273a1 Support hns DWQE
Add support for hns DWQE. All its dependent patches are also added.

Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
2022-01-10 18:24:17 +08:00
openeuler-ci-bot
5d1fa75054 !25 update to 35.1
Merge pull request !25 from eaglegai/openEuler-22.03-LTS-Next
2021-12-21 02:22:16 +00:00
eaglegai
ac3cd71307 update to 35.1 2021-12-09 19:23:20 +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
openeuler-ci-bot
d7e98c27c6 !3 update to 28.1
Merge pull request !3 from cuibb1/master
2020-07-27 18:41:48 +08:00
cuibb1
19b916d795 update to 28.1 2020-07-27 18:25:57 +08:00