Compare commits
No commits in common. "imports/c8s/perftest-4.4-3.el8" and "c8" have entirely different histories.
imports/c8
...
c8
|
@ -1 +1 @@
|
|||
SOURCES/perftest-4.4-0.29.g817ec38.tar.gz
|
||||
SOURCES/perftest-23.07.0-0.27.g117a291.tar.gz
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
26e318b80b7e2464a139a056332f2400864d4f61 SOURCES/perftest-4.4-0.29.g817ec38.tar.gz
|
|
@ -1,73 +0,0 @@
|
|||
From d30e91efc80d058ddad80913f40dffb1e68c841b Mon Sep 17 00:00:00 2001
|
||||
From: Honggang Li <honli@redhat.com>
|
||||
Date: Fri, 24 Jul 2020 09:09:00 +0800
|
||||
Subject: [PATCH] Don't call ibv_qp_to_qp_ex when hardware does not support
|
||||
extended QP
|
||||
|
||||
The sizeof 'struct ibv_qp' allocated by ibv_create_qp is 160.
|
||||
If the memory holds the 'struct ibv_qp' was allocated at the
|
||||
upper boundary of a memory page, cast it to 'struct verbs_qp',
|
||||
whose size is 360, may across the memory page boundary. It will
|
||||
trigger invalid memory access to the next memory page.
|
||||
|
||||
The issue can be reproduced with OPA and QIB HCA.
|
||||
|
||||
For example run over OPA:
|
||||
Server Node: $ ib_read_bw -F -N -n 1000 -u 20 -q 257 -s 4194304
|
||||
Client Node: $ ib_read_bw -F -N -n 1000 -u 20 -q 257 -s 4194304 <sever>
|
||||
|
||||
Program received signal SIGSEGV, Segmentation fault.
|
||||
ibv_qp_to_qp_ex (qp=0x5555557a5f10) at libibverbs/verbs.c:624
|
||||
624 if (vqp->comp_mask & VERBS_QP_EX)
|
||||
(gdb) bt
|
||||
#0 ibv_qp_to_qp_ex (qp=0x5555557a5f10) at libibverbs/verbs.c:624
|
||||
#1 0x000055555556af4a in create_reg_qp_main (ctx=ctx@entry=0x7fffffffd500, user_param=user_param@entry=0x7fffffffd670, i=i@entry=21, num_of_qps=num_of_qps@entry=128) at src/perftest_resources.c:1597
|
||||
#2 0x000055555556b6d7 in create_qp_main (num_of_qps=<optimized out>, i=21, user_param=0x7fffffffd670, ctx=0x7fffffffd500) at src/perftest_resources.c:1613
|
||||
#3 ctx_init (ctx=0x7fffffffd500, user_param=0x7fffffffd670) at src/perftest_resources.c:1552
|
||||
#4 0x0000555555558e9c in main (argc=<optimized out>, argv=<optimized out>) at src/read_bw.c:149
|
||||
|
||||
624 if (vqp->comp_mask & VERBS_QP_EX)
|
||||
(gdb) p qp
|
||||
$1 = (struct ibv_qp *) 0x5555557a5f10
|
||||
(gdb) p vqp
|
||||
$2 = (struct verbs_qp *) 0x5555557a5f10
|
||||
(gdb) p *qp
|
||||
$3 = {context = 0x55555578ad00, qp_context = 0x0, ....
|
||||
(gdb) p *vqp
|
||||
Cannot access memory at address 0x5555557a6000
|
||||
|
||||
Signed-off-by: Honggang Li <honli@redhat.com>
|
||||
---
|
||||
src/perftest_resources.c | 14 ++++++++------
|
||||
1 file changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/perftest_resources.c b/src/perftest_resources.c
|
||||
index 56b78bba2c4b..499820c93185 100755
|
||||
--- a/src/perftest_resources.c
|
||||
+++ b/src/perftest_resources.c
|
||||
@@ -1649,14 +1649,16 @@ int create_reg_qp_main(struct pingpong_context *ctx,
|
||||
return FAILURE;
|
||||
}
|
||||
#ifdef HAVE_IBV_WR_API
|
||||
- ctx->qpx[i] = ibv_qp_to_qp_ex(ctx->qp[i]);
|
||||
- #ifdef HAVE_MLX5DV
|
||||
- if (user_param->connection_type == DC)
|
||||
- {
|
||||
- ctx->dv_qp[i] = mlx5dv_qp_ex_from_ibv_qp_ex(ctx->qpx[i]);
|
||||
+ if (!user_param->use_old_post_send) {
|
||||
+ ctx->qpx[i] = ibv_qp_to_qp_ex(ctx->qp[i]);
|
||||
+ #ifdef HAVE_MLX5DV
|
||||
+ if (user_param->connection_type == DC)
|
||||
+ {
|
||||
+ ctx->dv_qp[i] = mlx5dv_qp_ex_from_ibv_qp_ex(ctx->qpx[i]);
|
||||
+ }
|
||||
+ #endif
|
||||
}
|
||||
#endif
|
||||
- #endif
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
--
|
||||
2.25.4
|
||||
|
|
@ -1,18 +1,23 @@
|
|||
Name: perftest
|
||||
Summary: IB Performance Tests
|
||||
Version: 4.4
|
||||
%define minor_release 0.29
|
||||
%define git_hash g817ec38
|
||||
Release: 3%{?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
|
||||
Name: perftest
|
||||
Summary: IB Performance Tests
|
||||
# Upstream uses a dash in the version. Not valid in the Version field, so we use a dot instead.
|
||||
# Issue "Please avoid dashes in version":
|
||||
# https://github.com/linux-rdma/perftest/issues/18
|
||||
%global upstream_ver 23.07.0-0.27
|
||||
Version: %{lua: print((string.gsub(rpm.expand("%{upstream_ver}"),"-",".")))}
|
||||
Release: 1%{?dist}
|
||||
License: GPLv2 or BSD
|
||||
Source: https://github.com/linux-rdma/perftest/releases/download/23.07.0-0.27/perftest-23.07.0-0.27.g117a291.tar.gz
|
||||
Source1: ib_atomic_bw.1
|
||||
Patch1: 0001-Don-t-call-ibv_qp_to_qp_ex-when-hardware-does-not-su.patch
|
||||
Url: http://www.openfabrics.org
|
||||
BuildRequires: libibverbs-devel > 1.1.4, librdmacm-devel > 1.0.14
|
||||
BuildRequires: libibumad-devel > 1.3.6
|
||||
BuildRequires: autoconf, automake, libtool
|
||||
Obsoletes: openib-perftest < 1.3
|
||||
Url: https://github.com/linux-rdma/perftest
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc
|
||||
BuildRequires: libibverbs-devel >= 1.2.0
|
||||
BuildRequires: librdmacm-devel >= 1.0.21
|
||||
BuildRequires: libibumad-devel >= 1.3.10.2
|
||||
BuildRequires: pciutils-devel
|
||||
Obsoletes: openib-perftest < 1.3
|
||||
|
||||
%description
|
||||
Perftest is a collection of simple test programs designed to utilize
|
||||
|
@ -21,19 +26,18 @@ connections. It does not work on normal TCP/IP networks, only on
|
|||
RDMA networks.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
autoreconf --force --install
|
||||
# The directory in the tarball has only the part before the dash.
|
||||
%global tarball_ver %{lua: _,_,v=string.find(rpm.expand("%{upstream_ver}"),"([^-]+)"); print(v)}
|
||||
|
||||
%setup -q -n %{name}-%{tarball_ver}
|
||||
find src -type f -iname '*.[ch]' -exec chmod a-x '{}' ';'
|
||||
|
||||
%build
|
||||
%configure
|
||||
make V=1 %{?_smp_mflags}
|
||||
%make_build
|
||||
|
||||
%install
|
||||
for file in ib_{atomic,read,send,write}_{lat,bw}; do
|
||||
install -D -m 0755 $file %{buildroot}%{_bindir}/$file
|
||||
done
|
||||
for file in raw_ethernet_{lat,bw}; do
|
||||
for file in ib_{atomic,read,send,write}_{lat,bw} raw_ethernet_{lat,bw}; do
|
||||
install -D -m 0755 $file %{buildroot}%{_bindir}/$file
|
||||
done
|
||||
mkdir -p %{buildroot}%{_mandir}/man1/
|
||||
|
@ -45,11 +49,45 @@ done
|
|||
popd
|
||||
|
||||
%files
|
||||
%doc README COPYING
|
||||
%{_bindir}/*
|
||||
%doc README
|
||||
%{_mandir}/man1/*
|
||||
%license COPYING
|
||||
%_bindir/*
|
||||
|
||||
%changelog
|
||||
* Thu Oct 26 2023 Kamal Heib <kheib@redhat.com> - 23.07.0.0.27-1
|
||||
- Update to upstream release 23.07.0.0.27
|
||||
- Resolves: RHEL-1270
|
||||
|
||||
* Tue Jul 18 2023 Kamal Heib <kheib@redhat.com> - 23.04.0.0.23-2
|
||||
- Add missing Intel Parameters
|
||||
- Resolves: rhbz#2211464
|
||||
|
||||
* Mon Jun 05 2023 Kamal Heib <kheib@redhat.com> - 23.04.0.0.23-1
|
||||
- Update to upstream release 23.04.0.0.23
|
||||
- Add gating tests
|
||||
- Resolves: rhbz#2212517
|
||||
|
||||
* Wed Feb 08 2023 Michal Schmidt <mschmidt@redhat.com> - 4.5.0.20-4
|
||||
- Rebase to upstream version 4.5-0.20
|
||||
- Resolves: rhbz#2168109
|
||||
|
||||
* Wed Nov 10 2021 Honggang Li <honli@redhat.com> - 4.5-12
|
||||
- Rebase to upstream release perftest-4.5-0.12
|
||||
- Resolves: rhbz#2020062
|
||||
|
||||
* Thu May 13 2021 Honggang Li <honli@redhat.com> - 4.5-1
|
||||
- Rebase to upstream release perftest-4.5-0.2
|
||||
- Resolves: rhbz#1960074
|
||||
|
||||
* Sat Jan 30 2021 Honggang Li <honli@redhat.com> - 4.4-8
|
||||
- Check PCIe relaxed ordering compliant
|
||||
- Resolves: rhbz#1902855
|
||||
|
||||
* Thu Nov 05 2020 Honggang Li <honli@redhat.com> - 4.4-7
|
||||
- Rebase to upstream release perftest-4.4-0.32
|
||||
- Resolves: bz1888570
|
||||
|
||||
* Fri Jul 24 2020 Honggang Li <honli@redhat.com> - 4.4-3
|
||||
- Fix segment fault with large QP numbers
|
||||
- Resolves: rhbz#1859358
|
||||
|
|
Loading…
Reference in New Issue