Accepting request 1227352 from science:HPC
OBS-URL: https://build.opensuse.org/request/show/1227352 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libfabric?expand=0&rev=49
This commit is contained in:
commit
11d2f8ecbe
@ -38,7 +38,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Fabtests provides a set of examples that uses libfabric, a fabric software library.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n libfabric-%{version}%{git_ver}
|
||||
%autosetup -p0 -n libfabric-%{version}%{git_ver}
|
||||
|
||||
%build
|
||||
cd fabtests
|
||||
|
@ -1,8 +1,18 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index d137250..4e67035 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -89,7 +89,7 @@ AC_HEADER_STDC
|
||||
commit 81de541fdd4abc77167f955f8ddd85f195888e5c
|
||||
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
Date: Fri Sep 30 13:49:16 2022 +0200
|
||||
|
||||
libfabric libtool
|
||||
|
||||
Disable static libs
|
||||
|
||||
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||
|
||||
diff --git configure.ac configure.ac
|
||||
index 7dacf69c9a69..90fcdc610754 100644
|
||||
--- configure.ac
|
||||
+++ configure.ac
|
||||
@@ -193,7 +193,7 @@ m4_version_prereq([2.70],
|
||||
dnl Check for compiler features
|
||||
AC_C_TYPEOF
|
||||
|
||||
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 28 15:47:54 UTC 2024 - Nicolas Morey <nicolas.morey@suse.com>
|
||||
|
||||
- Add psm3-fix-SIGILL-on-system-not-supporting-AVX.patch to fix
|
||||
SIGILL hapening during init on older CPU (bsc#1213538, bsc#1233356).
|
||||
- Refresh libfabric-libtool.patch tu support patch -p0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 5 11:20:55 UTC 2024 - Filip Kastl <filip.kastl@suse.com>
|
||||
|
||||
|
@ -35,6 +35,7 @@ Group: Development/Libraries/C and C++
|
||||
Source: %{name}-%{version}%{git_ver}.tar.bz2
|
||||
Source1: baselibs.conf
|
||||
Patch0: libfabric-libtool.patch
|
||||
Patch1: psm3-fix-SIGILL-on-system-not-supporting-AVX.patch
|
||||
URL: http://www.github.com/ofiwg/libfabric
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
@ -79,7 +80,7 @@ libfabric provides a user-space API to access high-performance fabric
|
||||
services, such as RDMA. This package contains the development files.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}-%{version}%{git_ver}
|
||||
%autosetup -p0 -n %{name}-%{version}%{git_ver}
|
||||
|
||||
%build
|
||||
export CFLAGS=-Wno-incompatible-pointer-types
|
||||
|
60
psm3-fix-SIGILL-on-system-not-supporting-AVX.patch
Normal file
60
psm3-fix-SIGILL-on-system-not-supporting-AVX.patch
Normal file
@ -0,0 +1,60 @@
|
||||
commit fd049a0a053502a85b839a715fc6f9fdbfc4439a
|
||||
Author: Nicolas Morey <nmorey@suse.com>
|
||||
Date: Thu Nov 28 16:44:12 2024 +0100
|
||||
|
||||
psm3: fix SIGILL on system not supporting AVX
|
||||
|
||||
Even though code was added to not use the PSM3 provider on system
|
||||
without AVX/AVX2 support, logs triggered by the detection code can
|
||||
be using AVX instructions causing psmx3_getinfo to SIGILL
|
||||
|
||||
Move the detection even earlier in the provider init and use OFI
|
||||
standard print functions to avoid using any code that might have
|
||||
been compiled with AVX instructions.
|
||||
|
||||
Fixes: 3ef633408edf ("prov/psm3: update provider to sync with IEFS 11.5.1.0.3")
|
||||
Signed-off-by: Nicolas Morey <nmorey@suse.com>
|
||||
|
||||
diff --git prov/psm3/src/psmx3_init.c prov/psm3/src/psmx3_init.c
|
||||
index 29359d3ea348..cc259a1b6301 100644
|
||||
--- prov/psm3/src/psmx3_init.c
|
||||
+++ prov/psm3/src/psmx3_init.c
|
||||
@@ -680,18 +680,6 @@ static int psmx3_getinfo(uint32_t api_version, const char *node,
|
||||
|
||||
PSMX3_INFO(&psmx3_prov, FI_LOG_CORE,"\n");
|
||||
|
||||
- __builtin_cpu_init();
|
||||
- if (!__builtin_cpu_supports(PSM3_MARCH)) {
|
||||
- PSMX3_INFO(&psmx3_prov, FI_LOG_CORE,
|
||||
- "CPU does not support '%s'.\n", PSM3_MARCH);
|
||||
- OFI_INFO_STR(&psmx3_prov,
|
||||
- (__builtin_cpu_supports("avx2") ? "AVX2" :
|
||||
- (__builtin_cpu_supports("avx") ? "AVX" :
|
||||
- (__builtin_cpu_supports("sse4.2") ? "SSE4.2" : "unknown"))),
|
||||
- PSM3_MARCH, "CPU Supports", "PSM3 Built With");
|
||||
- goto err_out;
|
||||
- }
|
||||
-
|
||||
if (psmx3_init_prov_info(hints, &prov_info))
|
||||
goto err_out;
|
||||
|
||||
@@ -895,6 +883,19 @@ struct fi_provider psmx3_prov = {
|
||||
|
||||
PROVIDER_INI
|
||||
{
|
||||
+ __builtin_cpu_init();
|
||||
+ if (!__builtin_cpu_supports(PSM3_MARCH)) {
|
||||
+ FI_INFO(&core_prov, FI_LOG_CORE,
|
||||
+ "PSM3: CPU does not support '%s'.\n", PSM3_MARCH);
|
||||
+ OFI_INFO_STR(&core_prov,
|
||||
+ (__builtin_cpu_supports("avx2") ? "AVX2" :
|
||||
+ (__builtin_cpu_supports("avx") ? "AVX" :
|
||||
+ (__builtin_cpu_supports("sse4.2") ? "SSE4.2" : "unknown"))),
|
||||
+ PSM3_MARCH, "CPU Supports", "PSM3 Built With");
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
psmx3_prov.version = get_psm3_provider_version();
|
||||
|
||||
PSMX3_INFO(&psmx3_prov, FI_LOG_CORE, "build options: VERSION=%u.%u=%u.%u.%u.%u, "
|
Loading…
x
Reference in New Issue
Block a user