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.
|
Fabtests provides a set of examples that uses libfabric, a fabric software library.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n libfabric-%{version}%{git_ver}
|
%autosetup -p0 -n libfabric-%{version}%{git_ver}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
cd fabtests
|
cd fabtests
|
||||||
|
@ -1,8 +1,18 @@
|
|||||||
diff --git a/configure.ac b/configure.ac
|
commit 81de541fdd4abc77167f955f8ddd85f195888e5c
|
||||||
index d137250..4e67035 100644
|
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
|
||||||
--- a/configure.ac
|
Date: Fri Sep 30 13:49:16 2022 +0200
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -89,7 +89,7 @@ AC_HEADER_STDC
|
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
|
dnl Check for compiler features
|
||||||
AC_C_TYPEOF
|
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>
|
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
|
Source: %{name}-%{version}%{git_ver}.tar.bz2
|
||||||
Source1: baselibs.conf
|
Source1: baselibs.conf
|
||||||
Patch0: libfabric-libtool.patch
|
Patch0: libfabric-libtool.patch
|
||||||
|
Patch1: psm3-fix-SIGILL-on-system-not-supporting-AVX.patch
|
||||||
URL: http://www.github.com/ofiwg/libfabric
|
URL: http://www.github.com/ofiwg/libfabric
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
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.
|
services, such as RDMA. This package contains the development files.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n %{name}-%{version}%{git_ver}
|
%autosetup -p0 -n %{name}-%{version}%{git_ver}
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export CFLAGS=-Wno-incompatible-pointer-types
|
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