!14 替换当前patch为perftest开源社区的版本

From: @hellotcc 
Reviewed-by: @li-yangyang20 
Signed-off-by: @li-yangyang20
This commit is contained in:
openeuler-ci-bot 2022-11-29 06:42:42 +00:00 committed by Gitee
commit 49232b6809
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
7 changed files with 100 additions and 43 deletions

View File

@ -0,0 +1,49 @@
From 7389878920aba23a6b86a376a601bacd03ca9f41 Mon Sep 17 00:00:00 2001
From: Cheng Xu <chengyou@linux.alibaba.com>
Date: Wed, 26 Oct 2022 10:39:10 +0800
Subject: perftest_parameters: Add inline feature support of ERDMA device
Let perftest recognize ERDMA device and set the correct max inline size.
Signed-off-by: Cheng Xu <chengyou@linux.alibaba.com>
---
src/perftest_parameters.c | 3 +++
src/perftest_parameters.h | 1 +
2 files changed, 4 insertions(+)
diff --git a/src/perftest_parameters.c b/src/perftest_parameters.c
index 448592a..1d26e4f 100755
--- a/src/perftest_parameters.c
+++ b/src/perftest_parameters.c
@@ -1865,6 +1865,7 @@ enum ctx_device ib_dev_name(struct ibv_context *context)
case 55300 : dev_fname = NETXTREME; break;
case 61344 : dev_fname = EFA; break;
case 61345 : dev_fname = EFA; break;
+ case 4223 : dev_fname = ERDMA; break;
default : dev_fname = UNKNOWN;
}
}
@@ -2036,6 +2037,8 @@ static void ctx_set_max_inline(struct ibv_context *context,struct perftest_param
user_param->inline_size = 32;
else if (current_dev == QLOGIC_E4)
user_param->inline_size = 128;
+ else if (current_dev == ERDMA)
+ user_param->inline_size = 96;
} else {
user_param->inline_size = 0;
diff --git a/src/perftest_parameters.h b/src/perftest_parameters.h
index dcf6214..bfd42f0 100755
--- a/src/perftest_parameters.h
+++ b/src/perftest_parameters.h
@@ -333,6 +333,7 @@ enum ctx_device {
CONNECTX7 = 26,
QLOGIC_AHP = 27,
BLUEFIELD3 = 28,
+ ERDMA = 29,
};
/* Units for rate limiter */
--
2.34.1

View File

@ -1,6 +1,6 @@
From cfe0f71c2382f95e809f7edefa052e7ac9a41f8e Mon Sep 17 00:00:00 2001
From 6d8f1feed063e04d0419c0d895e919a24c7c24d4 Mon Sep 17 00:00:00 2001
From: Chengchang Tang <tangchengchang@huawei.com>
Date: Thu, 28 Apr 2022 15:59:42 +0800
Date: Tue, 8 Nov 2022 20:20:44 +0800
Subject: Perftest: replace rand() with getrandom() during MR buffer
initialization
@ -11,6 +11,7 @@ testing large packects in above scenario.
test has been done:
"""
\#define HUGE_MR_SIZE 2147483647
int main(int argc, char *argv[])
{
char *a = malloc(HUGE_MR_SIZE * sizeof(char));
@ -64,19 +65,19 @@ Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
2 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/configure.ac b/configure.ac
index 0c310f9..007957b 100755
index 21a17bc..2bbc7fc 100755
--- a/configure.ac
+++ b/configure.ac
@@ -60,6 +60,7 @@ AC_PROG_LIBTOOL
AC_PROG_RANLIB
AC_HEADER_STDC
AC_CHECK_HEADERS([infiniband/verbs.h],,[AC_MSG_ERROR([ibverbs header files not found])])
+AC_CHECK_HEADERS([sys/random.h],,[AC_MSG_ERROR([getrandom available])])
+AC_CHECK_HEADERS([sys/random.h],,)
AC_CHECK_LIB([ibverbs], [ibv_get_device_list], [], [AC_MSG_ERROR([libibverbs not found])])
AC_CHECK_LIB([rdmacm], [rdma_create_event_channel], [], AC_MSG_ERROR([librdmacm-devel not found]))
AC_CHECK_LIB([ibumad], [umad_init], [LIBUMAD=-libumad], AC_MSG_ERROR([libibumad not found]))
diff --git a/src/perftest_resources.c b/src/perftest_resources.c
index dc19cc3..334bede 100755
index 33db58e..23c31d1 100755
--- a/src/perftest_resources.c
+++ b/src/perftest_resources.c
@@ -22,6 +22,9 @@
@ -89,7 +90,7 @@ index dc19cc3..334bede 100755
#ifdef HAVE_SRD
#include <infiniband/efadv.h>
#endif
@@ -1716,12 +1719,33 @@ int create_cqs(struct pingpong_context *ctx, struct perftest_parameters *user_pa
@@ -1542,12 +1545,33 @@ int create_cqs(struct pingpong_context *ctx, struct perftest_parameters *user_pa
return ret;
}
@ -124,7 +125,7 @@ index dc19cc3..334bede 100755
int flags = IBV_ACCESS_LOCAL_WRITE;
@@ -1860,13 +1884,10 @@ int create_single_mr(struct pingpong_context *ctx, struct perftest_parameters *u
@@ -1686,13 +1710,10 @@ int create_single_mr(struct pingpong_context *ctx, struct perftest_parameters *u
#ifdef HAVE_CUDA
if (!user_param->use_cuda) {
#endif
@ -140,5 +141,5 @@ index dc19cc3..334bede 100755
#ifdef HAVE_CUDA
}
--
2.30.0
2.34.1

View File

@ -1,6 +1,6 @@
From 950e7e2da1b50e5aab20b2efb450890df1ef0ed1 Mon Sep 17 00:00:00 2001
From 1a842d207a981c72c5162f4efd89da8c5a07a772 Mon Sep 17 00:00:00 2001
From: Chengchang Tang <tangchengchang@huawei.com>
Date: Mon, 7 Nov 2022 21:09:08 +0800
Date: Tue, 8 Nov 2022 20:20:40 +0800
Subject: Perftest: Fix verification of max_inline_data for *_create_qp_ex()
Currently, attr.cap.max_inline_data is used for validation in
@ -19,10 +19,10 @@ Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/src/perftest_resources.c b/src/perftest_resources.c
index b6f1cb8..5065181 100755
index 23c31d1..751ea96 100755
--- a/src/perftest_resources.c
+++ b/src/perftest_resources.c
@@ -2364,22 +2364,21 @@ struct ibv_qp* ctx_qp_create(struct pingpong_context *ctx,
@@ -2138,22 +2138,21 @@ struct ibv_qp* ctx_qp_create(struct pingpong_context *ctx,
int dc_num_of_qps = user_param->num_of_qps / 2;
int is_dc_server_side = 0;
@ -50,7 +50,7 @@ index b6f1cb8..5065181 100755
#endif
attr.send_cq = ctx->send_cq;
@@ -2554,10 +2553,15 @@ struct ibv_qp* ctx_qp_create(struct pingpong_context *ctx,
@@ -2328,10 +2327,15 @@ struct ibv_qp* ctx_qp_create(struct pingpong_context *ctx,
fprintf(stderr, "Current TX depth is %d and inline size is %d .\n", user_param->tx_depth, user_param->inline_size);
}
@ -71,5 +71,5 @@ index b6f1cb8..5065181 100755
return qp;
--
2.30.0
2.34.1

View File

@ -1,6 +1,6 @@
From 18152fd789f6be3eaf82684206a3ce86149180fe Mon Sep 17 00:00:00 2001
From f1d3612de51294cf1d9eab3487fc11c37ffe1386 Mon Sep 17 00:00:00 2001
From: Chengchang Tang <tangchengchang@huawei.com>
Date: Tue, 8 Nov 2022 11:48:35 +0800
Date: Tue, 8 Nov 2022 20:20:43 +0800
Subject: Perftest: Increase max inline size to support larger inline tests
For some hns roce devices, a maximum of 1024 bytes of inline is
@ -14,10 +14,10 @@ Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/perftest_parameters.h b/src/perftest_parameters.h
index 717a154..25be929 100755
index bfd42f0..9a4d2bb 100755
--- a/src/perftest_parameters.h
+++ b/src/perftest_parameters.h
@@ -178,8 +178,8 @@
@@ -177,8 +177,8 @@
#define UC_MAX_RX (16000)
#define MIN_CQ_MOD (1)
#define MAX_CQ_MOD (1024)
@ -29,5 +29,5 @@ index 717a154..25be929 100755
#define MAX_EQ_NUM (2048)
--
2.30.0
2.34.1

View File

@ -1,6 +1,6 @@
From da0dc664ee473f6e35abfadcf121fd4e4081ee9b Mon Sep 17 00:00:00 2001
From 3dcb9a00f4f92bfb842ff7b670f1fd2b30bbf89a Mon Sep 17 00:00:00 2001
From: Chengchang Tang <tangchengchang@huawei.com>
Date: Fri, 16 Sep 2022 11:28:29 +0800
Date: Tue, 8 Nov 2022 20:20:41 +0800
Subject: Perftest: Add support for HNS
Add support for HNS device by making it recognized by perftest.
@ -15,13 +15,13 @@ Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
3 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/perftest_parameters.c b/src/perftest_parameters.c
index 5fd9f7d..73a8df5 100755
index 1d26e4f..9c49265 100755
--- a/src/perftest_parameters.c
+++ b/src/perftest_parameters.c
@@ -1851,6 +1851,13 @@ enum ctx_device ib_dev_name(struct ibv_context *context)
case 55300 : dev_fname = NETXTREME; break;
@@ -1866,6 +1866,13 @@ enum ctx_device ib_dev_name(struct ibv_context *context)
case 61344 : dev_fname = EFA; break;
case 61345 : dev_fname = EFA; break;
case 4223 : dev_fname = ERDMA; break;
+ case 41506 : dev_fname = HNS; break;
+ case 41507 : dev_fname = HNS; break;
+ case 41508 : dev_fname = HNS; break;
@ -32,32 +32,32 @@ index 5fd9f7d..73a8df5 100755
default : dev_fname = UNKNOWN;
}
}
@@ -2054,6 +2061,8 @@ static void ctx_set_max_inline(struct ibv_context *context,struct perftest_param
user_param->inline_size = 32;
else if (current_dev == QLOGIC_E4)
@@ -2039,6 +2046,8 @@ static void ctx_set_max_inline(struct ibv_context *context,struct perftest_param
user_param->inline_size = 128;
else if (current_dev == ERDMA)
user_param->inline_size = 96;
+ else if (current_dev == HNS)
+ user_param->inline_size = 32;
} else {
user_param->inline_size = 0;
diff --git a/src/perftest_parameters.h b/src/perftest_parameters.h
index bad587c..717a154 100755
index 9a4d2bb..909d771 100755
--- a/src/perftest_parameters.h
+++ b/src/perftest_parameters.h
@@ -380,6 +380,7 @@ enum ctx_device {
CONNECTX7 = 26,
@@ -334,6 +334,7 @@ enum ctx_device {
QLOGIC_AHP = 27,
BLUEFIELD3 = 28,
+ HNS = 29,
ERDMA = 29,
+ HNS = 30,
};
/* Units for rate limiter */
diff --git a/src/perftest_resources.c b/src/perftest_resources.c
index 5065181..dc19cc3 100755
index 751ea96..bcec080 100755
--- a/src/perftest_resources.c
+++ b/src/perftest_resources.c
@@ -1979,7 +1979,8 @@ int verify_params_with_device_context(struct ibv_context *context,
@@ -1818,7 +1818,8 @@ int verify_params_with_device_context(struct ibv_context *context,
current_dev != BLUEFIELD &&
current_dev != BLUEFIELD2 &&
current_dev != BLUEFIELD3 &&
@ -68,5 +68,5 @@ index 5065181..dc19cc3 100755
if (!user_param->use_old_post_send)
{
--
2.30.0
2.34.1

View File

@ -1,4 +1,4 @@
From 1c7d57d794609887f3084408630814c8f02fad1f Mon Sep 17 00:00:00 2001
From 3ded8d702bf95186cd2ddbae7e3c23bfd1aa9d31 Mon Sep 17 00:00:00 2001
From: Chengchang Tang <tangchengchang@huawei.com>
Date: Mon, 7 Nov 2022 16:09:42 +0800
Subject: Perftest: Add new HNS roce device (ROH) to support new_io
@ -11,10 +11,10 @@ Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
1 file changed, 3 insertions(+)
diff --git a/src/perftest_parameters.c b/src/perftest_parameters.c
index 73a8df5..a048a5a 100755
index 9c49265..034a20e 100755
--- a/src/perftest_parameters.c
+++ b/src/perftest_parameters.c
@@ -1858,6 +1858,9 @@ enum ctx_device ib_dev_name(struct ibv_context *context)
@@ -1873,6 +1873,9 @@ enum ctx_device ib_dev_name(struct ibv_context *context)
case 41510 : dev_fname = HNS; break;
case 41512 : dev_fname = HNS; break;
case 41519 : dev_fname = HNS; break;
@ -25,5 +25,5 @@ index 73a8df5..a048a5a 100755
}
}
--
2.30.0
2.34.1

View File

@ -1,16 +1,17 @@
Name: perftest
Version: 4.5
Release: 2
Release: 3
License: GPLv2 or BSD
Summary: RDMA Performance Testing Tools
Url: https://github.com/linux-rdma/perftest
Source: https://github.com/linux-rdma/perftest/releases/download/v4.5-0.12/perftest-4.5-0.12.ge93c538.tar.gz
Patch1: 0001-Perftest-Fix-verification-of-max_inline_data-for-_cr.patch
Patch2: 0002-Perftest-Add-support-for-HNS.patch
Patch3: 0003-Perftest-Add-new-HNS-roce-device-ROH-to-support-new_.patch
Patch1: 0001-perftest_parameters-Add-inline-feature-support-of-ER.patch
Patch2: 0002-Perftest-replace-rand-with-getrandom-during-MR-buffe.patch
Patch3: 0003-Perftest-Fix-verification-of-max_inline_data-for-_cr.patch
Patch4: 0004-Perftest-Increase-max-inline-size-to-support-larger-.patch
Patch5: 0005-Perftest-replace-rand-with-getrandom-during-MR-buffe.patch
Patch5: 0005-Perftest-Add-support-for-HNS.patch
Patch6: 0006-Perftest-Add-new-HNS-roce-device-ROH-to-support-new_.patch
BuildRequires: automake gcc libibverbs-devel >= 1.2.0 librdmacm-devel >= 1.0.21 libibumad-devel >= 1.3.10.2
BuildRequires: pciutils-devel
@ -36,6 +37,12 @@ done
%_bindir/*
%changelog
* Tue Nov 22 2022 tangchengchang <tangchengchang@huawei.com> - 4.5-3
- Type: bugfix
- ID: NA
- SUG: NA
- DESC: Replace patches with the perftest community version.
* Mon Nov 07 2022 tangchengchang <tangchengchang@huawei.com> - 4.5-2
- Type: requirement
- ID: NA