From 3387f3b1c5d9290758a29848f21efce3e703c7d3 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 9 Nov 2021 05:07:35 -0500 Subject: [PATCH] import perftest-4.5-1.el8 --- .gitignore | 2 +- .perftest.metadata | 2 +- ...heck-PCIe-relaxed-ordering-compliant.patch | 131 ------------------ SPECS/perftest.spec | 14 +- 4 files changed, 10 insertions(+), 139 deletions(-) delete mode 100644 SOURCES/0001-Check-PCIe-relaxed-ordering-compliant.patch diff --git a/.gitignore b/.gitignore index e49ab0e..ae946fa 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/perftest-4.4-0.32.g6fc89a9.tar.gz +SOURCES/perftest-4.5-0.2.gddb0705.tar.gz diff --git a/.perftest.metadata b/.perftest.metadata index f106aff..6dbd212 100644 --- a/.perftest.metadata +++ b/.perftest.metadata @@ -1 +1 @@ -11371a27413a0371e36fe6a27cacd5a72e27fc05 SOURCES/perftest-4.4-0.32.g6fc89a9.tar.gz +5d918f18552c6321c5944d9eb57922c4ba6af994 SOURCES/perftest-4.5-0.2.gddb0705.tar.gz diff --git a/SOURCES/0001-Check-PCIe-relaxed-ordering-compliant.patch b/SOURCES/0001-Check-PCIe-relaxed-ordering-compliant.patch deleted file mode 100644 index 0a39c55..0000000 --- a/SOURCES/0001-Check-PCIe-relaxed-ordering-compliant.patch +++ /dev/null @@ -1,131 +0,0 @@ -From 0eeba58a2a5273b5f9dd95d3e219a2d4ad003244 Mon Sep 17 00:00:00 2001 -From: Honggang Li -Date: Mon, 11 Jan 2021 16:59:08 +0800 -Subject: [PATCH] Check PCIe relaxed ordering compliant - -Significantly performance degradation may be observed when PICe -relaxed ordering enabled over CPU which is not PCIe RO compliant. -Emit a warning message for such scenario. - -https://github.com/linux-rdma/perftest/issues/116 - -Signed-off-by: Honggang Li ---- - README | 3 ++- - configure.ac | 3 +++ - perftest.spec | 1 + - src/perftest_parameters.c | 37 +++++++++++++++++++++++++++++++++++++ - 4 files changed, 43 insertions(+), 1 deletion(-) - -diff --git a/README b/README -index 23f81cb..707d9df 100644 ---- a/README -+++ b/README -@@ -108,7 +108,8 @@ Prerequisites: - (kernel module) matches libibverbs - (kernel module) matches librdmacm - (kernel module) matches libibumad -- (kernel module) matches libmath (lm). -+ (kernel module) matches libmath (lm) -+ (linux kernel module) matches pciutils (lpci). - - - Server: ./ -diff --git a/configure.ac b/configure.ac -index 0a1cc41..66ec909 100755 ---- a/configure.ac -+++ b/configure.ac -@@ -174,6 +174,8 @@ if [test $HAVE_SNIFFER = yes]; then - fi - - if [test $IS_FREEBSD = no]; then -+ AC_CHECK_HEADERS([pci/pci.h],,[AC_MSG_ERROR([pciutils header files not found])]) -+ AC_CHECK_LIB([pci], [pci_init], [LIBPCI=-lpci], AC_MSG_ERROR([libpci not found])) - CPU_IS_RO_COMPLIANT=yes - # Actually this is check for being affected by a known issue - # with Intel CPUs: -@@ -193,6 +195,7 @@ AC_TRY_LINK([ - AM_CONDITIONAL([HAVE_RO],[test "x$HAVE_RO" = "xyes"]) - if [test $HAVE_RO = yes] && [test "x$CPU_IS_RO_COMPLIANT" = "xyes"]; then - AC_DEFINE([HAVE_RO], [1], [Enable Relaxed Ordering]) -+ LIBS=$LIBS" -lpci" - fi - - AC_TRY_LINK([#include ], -diff --git a/perftest.spec b/perftest.spec -index 630b00b..b0b50da 100644 ---- a/perftest.spec -+++ b/perftest.spec -@@ -8,6 +8,7 @@ Source: http://www.openfabrics.org/downloads/%{name}-%{version}.tar.gz - Url: http://www.openfabrics.org - BuildRoot: %{_tmppath}/%{name}-%{version}-build - BuildRequires: libibverbs-devel librdmacm-devel libibumad-devel -+BuildRequires: pciutils-devel - - %description - gen3 uverbs microbenchmarks -diff --git a/src/perftest_parameters.c b/src/perftest_parameters.c -index 185d7e3..77fe835 100755 ---- a/src/perftest_parameters.c -+++ b/src/perftest_parameters.c -@@ -11,6 +11,10 @@ - #include "perftest_parameters.h" - #include "raw_ethernet_resources.h" - #include -+#ifdef HAVE_RO -+#include -+#include -+#endif - #define MAC_LEN (17) - #define ETHERTYPE_LEN (6) - #define MAC_ARR_LEN (6) -@@ -163,6 +167,34 @@ static int get_cache_line_size() - - return size; - } -+#ifdef HAVE_RO -+/****************************************************************************** -+ Check PCIe Relaxed Ordering -+ -+ Stolen from https://github.com/pciutils/pciutils/blob/master/example.c -+ ******************************************************************************/ -+static bool check_pcie_relaxed_ordering_compliant(void) { -+ struct pci_access *pacc; -+ struct pci_dev *dev; -+ bool cpu_is_RO_compliant = true; -+ -+ pacc = pci_alloc(); -+ pci_init(pacc); -+ pci_scan_bus(pacc); -+ for (dev = pacc->devices; dev && cpu_is_RO_compliant; -+ dev = dev->next) { -+ pci_fill_info(dev, -+ PCI_FILL_IDENT | PCI_FILL_BASES | PCI_FILL_CLASS); -+ /* https://lore.kernel.org/patchwork/patch/820922/ */ -+ if ((dev->vendor_id == 0x8086) && -+ (((dev->device_id >= 0x6f01 && dev->device_id <= 0x6f0e) || -+ (dev->device_id >= 0x2f01 && dev->device_id <= 0x2f01)))) -+ cpu_is_RO_compliant = false; -+ } -+ pci_cleanup(pacc); -+ return cpu_is_RO_compliant; -+} -+#endif - /****************************************************************************** - * - ******************************************************************************/ -@@ -2873,6 +2905,11 @@ void ctx_print_test_info(struct perftest_parameters *user_param) - printf(" Connection type : %s\t\tUsing SRQ : %s\n", connStr[user_param->connection_type], user_param->use_srq ? "ON" : "OFF"); - #ifdef HAVE_RO - printf(" PCIe relax order: %s\n", user_param->disable_pcir ? "OFF" : "ON"); -+ if ((check_pcie_relaxed_ordering_compliant() == false) && -+ (user_param->disable_pcir == 0)) { -+ printf(" WARNING: CPU is not PCIe relaxed ordering compliant.\n"); -+ printf(" WARNING: You should disable PCIe RO with `--disable_pcie_relaxed` for both server and clinet.\n"); -+ } - #else - printf(" PCIe relax order: %s\n", "Unsupported"); - #endif --- -2.29.2 - diff --git a/SPECS/perftest.spec b/SPECS/perftest.spec index 462c413..6a4c0c9 100644 --- a/SPECS/perftest.spec +++ b/SPECS/perftest.spec @@ -1,13 +1,12 @@ Name: perftest Summary: IB Performance Tests -Version: 4.4 -%define minor_release 0.32 -%define git_hash g6fc89a9 -Release: 8%{?dist} +Version: 4.5 +%define minor_release 0.2 +%define git_hash gddb0705 +Release: 1%{?dist} License: GPLv2 or BSD Source0: https://github.com/linux-rdma/perftest/releases/download/V%{version}-%{minor_release}/perftest-%{version}-%{minor_release}.%{git_hash}.tar.gz Source1: ib_atomic_bw.1 -Patch1: 0001-Check-PCIe-relaxed-ordering-compliant.patch Url: https://github.com/linux-rdma/perftest BuildRequires: libibverbs-devel > 1.1.4, librdmacm-devel > 1.0.14 BuildRequires: libibumad-devel > 1.3.6 @@ -23,7 +22,6 @@ RDMA networks. %prep %setup -q -%patch1 -p1 autoreconf --force --install %build @@ -52,6 +50,10 @@ popd %license COPYING %changelog +* Thu May 13 2021 Honggang Li - 4.5-1 +- Rebase to upstream release perftest-4.5-0.2 +- Resolves: rhbz#1960074 + * Sat Jan 30 2021 Honggang Li - 4.4-8 - Check PCIe relaxed ordering compliant - Resolves: rhbz#1902855