Compare commits

...

8 Commits

Author SHA1 Message Date
474b488bd0 Import from AlmaLinux stable repository 2024-05-31 17:47:46 +00:00
CentOS Sources
3832708966 import libfabric-1.17.0-3.el8.1 2023-05-17 01:59:32 +00:00
CentOS Sources
5374ceb1ab import libfabric-1.15.1-1.el8 2022-11-08 13:20:09 +00:00
CentOS Sources
98d97864ef import libfabric-1.14.0-1.el8 2022-05-10 10:42:10 +00:00
CentOS Sources
9a41a8c4e5 import libfabric-1.12.1-1.el8 2021-11-09 10:13:07 +00:00
CentOS Sources
81110558de import libfabric-1.11.2-1.el8 2021-09-09 20:10:51 +00:00
CentOS Sources
a139283819 import libfabric-1.10.0-1.el8 2021-09-09 20:10:48 +00:00
CentOS Sources
401efc5d2c import libfabric-1.9.0rc1-1.el8 2021-09-09 20:10:45 +00:00
6 changed files with 67 additions and 222 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/libfabric-1.8.0.tar.bz2
SOURCES/libfabric-1.18.0.tar.bz2

View File

@ -1 +0,0 @@
5ed296b739f50e7c97f9575e9f8b2cfbe3c69ec7 SOURCES/libfabric-1.8.0.tar.bz2

View File

@ -1,52 +0,0 @@
From b091a17b1ec7a5b546c2450bbd24bd26716c2f67 Mon Sep 17 00:00:00 2001
From: Honggang Li <honli@redhat.com>
Date: Sun, 4 Aug 2019 21:26:04 -0400
Subject: [PATCH] Fix segment fault issue for linux container
While run openmpi/mpirun with linux containers, the libfabric failed
with segment fault message.
Signal: Segmentation fault (11)
Signal code: Address not mapped (1)
Failing at address: 0xfffffffffffffff0
[ 0] /lib64/libpthread.so.0(+0x12d80)[0x14feb5d4dd80]
[ 1] /lib64/libfabric.so.1(+0x23cd1)[0x14fea8105cd1]
[ 2] /lib64/libfabric.so.1(+0x18240)[0x14fea80fa240]
[ 3] /lib64/libfabric.so.1(fi_getinfo+0x695)[0x14fea80faea5]
[ 4] /lib64/libfabric.so.1(fi_getinfo+0x4e)[0x14fea80ffe9e]
[ 5] /usr/lib64/openmpi/lib/openmpi/mca_btl_usnic.so(+0xdf4e)[0x14fea8445f4e]
[ 6] /usr/lib64/openmpi/lib/libopen-pal.so.40(mca_btl_base_select+0xed)[0x14feb547815d]
[ 7] /usr/lib64/openmpi/lib/openmpi/mca_bml_r2.so(mca_bml_r2_component_init+0x16)[0x14fea9fab2f6]
[ 8] /usr/lib64/openmpi/lib/libmpi.so.40(mca_bml_base_init+0xa4)[0x14feb5ffef94]
[ 9] /usr/lib64/openmpi/lib/libmpi.so.40(ompi_mpi_init+0x654)[0x14feb5fac474]
[10] /usr/lib64/openmpi/lib/libmpi.so.40(MPI_Init+0x72)[0x14feb5fdc6b2]
[11] /home/mpi/ring[0x4009ad]
[12] /lib64/libc.so.6(__libc_start_main+0xf3)[0x14feb599a813]
[13] /home/mpi/ring[0x4008be]
The 'scandir' function called by 'ofi_mem_init' returned -1 with errno
set to ENOENT.
Fixes: 8ce14923ba67 (core/mem: Obtain a list of available huge pages in system)
Signed-off-by: Honggang Li <honli@redhat.com>
---
src/mem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/mem.c b/src/mem.c
index 91836a79c..23617a0a4 100644
--- a/src/mem.c
+++ b/src/mem.c
@@ -84,7 +84,7 @@ void ofi_mem_init(void)
num_page_sizes = 1;
}
- while (n--) {
+ while (n-- > 0) {
if (sscanf(pglist[n]->d_name, "hugepages-%zukB", &hpsize) == 1) {
hpsize *= 1024;
if (hpsize != page_sizes[OFI_DEF_HUGEPAGE_SIZE])
--
2.20.1

View File

@ -1,40 +0,0 @@
From 0e3df6e32ba46fda98979e2e4fb1997d17f04b6e Mon Sep 17 00:00:00 2001
From: Honggang Li <honli@redhat.com>
Date: Thu, 4 Jul 2019 03:40:09 -0400
Subject: [PATCH 1/2] Revert "prov/psm2: Fix scalalble endpoint handling in
fi_av_remove()"
This reverts commit 2bb4bcba5a78db20bfc3f3505763e1a3b03dd353.
---
prov/psm2/src/psmx2_av.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/prov/psm2/src/psmx2_av.c b/prov/psm2/src/psmx2_av.c
index bb4fd615c..2dabf93bb 100644
--- a/prov/psm2/src/psmx2_av.c
+++ b/prov/psm2/src/psmx2_av.c
@@ -678,19 +678,16 @@ STATIC int psmx2_av_remove(struct fid_av *av, fi_addr_t *fi_addr, size_t count,
av_priv->conn_info[j].epaddrs[idx] = NULL;
}
} else {
- if (!av_priv->sep_info[idx].epids)
- continue;
-
for (j = 0; j < av_priv->max_trx_ctxt; j++) {
if (!av_priv->conn_info[j].trx_ctxt)
continue;
- if (!av_priv->conn_info[j].sepaddrs[idx])
+ if (!av_priv->conn_info[j].sepaddrs)
continue;
for (k = 0; k < av_priv->sep_info[idx].ctxt_cnt; k++) {
err = psmx2_av_disconnect_addr(
- j, av_priv->sep_info[idx].epids[k],
+ j, av_priv->table[idx].epid,
av_priv->conn_info[j].sepaddrs[idx][k]);
if (!err)
av_priv->conn_info[j].sepaddrs[idx][k] = NULL;
--
2.20.1

View File

@ -1,112 +0,0 @@
From 8bafb0be08d93743db66398471723fe49983df1b Mon Sep 17 00:00:00 2001
From: Honggang Li <honli@redhat.com>
Date: Thu, 4 Jul 2019 03:48:39 -0400
Subject: [PATCH 2/2] Revert "prov/psm2: Clean up connection state in
fi_av_remove"
This reverts commit 5b892bd43c5a824d1e5709c3c1f686e48ee4e373.
Conflicts:
prov/psm2/src/psmx2_av.c
Simple context conflict.
---
prov/psm2/src/psmx2_av.c | 78 ----------------------------------------
1 file changed, 78 deletions(-)
diff --git a/prov/psm2/src/psmx2_av.c b/prov/psm2/src/psmx2_av.c
index 2dabf93bb..aaa4624e4 100644
--- a/prov/psm2/src/psmx2_av.c
+++ b/prov/psm2/src/psmx2_av.c
@@ -616,88 +616,10 @@ out:
return ret;
}
-static int psmx2_av_disconnect_addr(int trx_ctxt_id, psm2_epid_t epid,
- psm2_epaddr_t epaddr)
-{
- struct psmx2_epaddr_context *epaddr_context;
- psm2_error_t errors;
- int err;
-
- if (!epaddr)
- return 0;
-
- FI_INFO(&psmx2_prov, FI_LOG_AV,
- "trx_ctxt_id %d epid %lx epaddr %p\n", trx_ctxt_id, epid, epaddr);
-
- epaddr_context = psm2_epaddr_getctxt(epaddr);
- if (!epaddr_context)
- return -FI_EINVAL;
-
- if (trx_ctxt_id != epaddr_context->trx_ctxt->id)
- return -FI_EINVAL;
-
- if (epid != epaddr_context->epid)
- return -FI_EINVAL;
-
- err = psm2_ep_disconnect2(epaddr_context->trx_ctxt->psm2_ep, 1, &epaddr,
- NULL, &errors, PSM2_EP_DISCONNECT_FORCE, 0);
-
- return psmx2_errno(err);
-}
-
DIRECT_FN
STATIC int psmx2_av_remove(struct fid_av *av, fi_addr_t *fi_addr, size_t count,
uint64_t flags)
{
- struct psmx2_fid_av *av_priv;
- int idx, i, j, k;
- int err;
-
- av_priv = container_of(av, struct psmx2_fid_av, av);
-
- av_priv->domain->av_lock_fn(&av_priv->lock, 1);
-
- for (i = 0; i < count; i++) {
- idx = PSMX2_ADDR_IDX(fi_addr[i]);
- if (idx >= av_priv->hdr->last) {
- FI_WARN(&psmx2_prov, FI_LOG_AV,
- "AV index out of range: fi_addr %lx idx %d last %ld\n",
- fi_addr[i], idx, av_priv->hdr->last);
- continue;
- }
-
- if (av_priv->table[idx].type == PSMX2_EP_REGULAR) {
- for (j = 0; j < av_priv->max_trx_ctxt; j++) {
- if (!av_priv->conn_info[j].trx_ctxt)
- continue;
-
- err = psmx2_av_disconnect_addr(
- j, av_priv->table[idx].epid,
- av_priv->conn_info[j].epaddrs[idx]);
- if (!err)
- av_priv->conn_info[j].epaddrs[idx] = NULL;
- }
- } else {
- for (j = 0; j < av_priv->max_trx_ctxt; j++) {
- if (!av_priv->conn_info[j].trx_ctxt)
- continue;
-
- if (!av_priv->conn_info[j].sepaddrs)
- continue;
-
- for (k = 0; k < av_priv->sep_info[idx].ctxt_cnt; k++) {
- err = psmx2_av_disconnect_addr(
- j, av_priv->table[idx].epid,
- av_priv->conn_info[j].sepaddrs[idx][k]);
- if (!err)
- av_priv->conn_info[j].sepaddrs[idx][k] = NULL;
- }
- }
- }
- }
-
- av_priv->domain->av_unlock_fn(&av_priv->lock, 1);
-
return 0;
}
--
2.20.1

View File

@ -1,15 +1,21 @@
%global __remake_config 1
Name: libfabric
Version: 1.8.0
Release: 2%{?dist}
Version: 1.18.0
Release: 1%{?dist}
Summary: Open Fabric Interfaces
License: BSD or GPLv2
URL: http://ofiwg.github.io/libfabric/
Source0: https://github.com/ofiwg/libfabric/releases/download/v%{version}/libfabric-%{version}.tar.bz2
Patch1: 0001-Revert-prov-psm2-Fix-scalalble-endpoint-handling-in-.patch
Patch2: 0002-Revert-prov-psm2-Clean-up-connection-state-in-fi_av_.patch
Patch3: 0001-Fix-segment-fault-issue-for-linux-container.patch
URL: https://github.com/ofiwg/libfabric
Source0: https://github.com/ofiwg/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.bz2
%if %{__remake_config}
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: libtool
%endif
BuildRequires: gcc
BuildRequires: make
BuildRequires: libnl3-devel
# RDMA not available on 32-bit ARM: #1484155
%ifnarch %{arm}
@ -17,12 +23,13 @@ BuildRequires: libibverbs-devel
BuildRequires: librdmacm-devel
%endif
%ifarch x86_64
%if 0%{?fedora} || ( 0%{?rhel} >= 6 && 0%{?rhel} <= 7 )
%if 0%{?fedora} || 0%{?rhel} == 7
BuildRequires: infinipath-psm-devel
%endif
%if 0%{?fedora} >= 25 || 0%{?rhel} >= 7
%if 0%{?fedora} || 0%{?rhel} >= 7
BuildRequires: libpsm2-devel
%endif
BuildRequires: numactl-devel
%endif
%description
@ -48,12 +55,12 @@ developing applications that use %{name}.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%autosetup -p1 -n %{name}-%{version}
%build
%if %{__remake_config}
./autogen.sh
%endif
%configure --disable-static --disable-silent-rules
%make_build
@ -63,9 +70,7 @@ developing applications that use %{name}.
find %{buildroot} -name '*.la' -exec rm -f {} ';'
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%ldconfig_scriptlets
%files
@ -89,6 +94,51 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';'
%changelog
* Thu Jun 01 2023 Kamal Heib <kheib@redhat.com> - 1.18.0-1
- Update to upstream release 1.18.0
- Add gating tests
- Resolves: rhbz#2153009
* Wed Feb 08 2023 Michal Schmidt <mschmidt@redhat.com> - 1.17.0-3.1
- Re-enable autotools remake to fix unwanted rpath in binaries.
- Resolves: rhbz#2168098
* Wed Feb 08 2023 Michal Schmidt <mschmidt@redhat.com> - 1.17.0-3
- Update to upstream release 1.17.0
- Resolves: rhbz#2168098
* Wed Aug 17 2022 Michal Schmidt <mschmidt@redhat.com> - 1.15.1-1
- Update to upstream release 1.15.1
- Disable LTO on x86_64 due to memory issues (copied from Fedora)
- Resolves: rhbz#2040450
* Thu Nov 25 2021 Honggang Li <honli@redhat.com> - 1.14.0-1
- Rebase to upstream release v1.14.0
- Resolves: bz1970601
* Thu May 13 2021 Honggang Li <honli@redhat.com> - 1.12.1-1
- Rebase to upstream release v1.12.1
- Enable psm3 support
- Resolves: bz1921238
* Tue Dec 22 2020 Honggang Li <honli@redhat.com> - 1.11.2-1
- Rebase to upstream release v1.11.2
- Fix "shm" segfault issue
- Resolves: bz1904291
* Tue Nov 17 2020 Honggang Li <honli@redhat.com> - 1.11.1-1
- Rebase to upstream release v1.11.1
- EFA Support requires libfabric
- Resolves: bz1831145, bz1852636
* Sat Apr 25 2020 Honggang Li <honli@redhat.com> - 1.10.0-1
- Rebase to upstream release v1.10.0
- Resolves: bz1739283
* Tue Nov 05 2019 Honggang Li <honli@redhat.com> - 1.9.0rc1-1
- Rebase to upstream release v1.9.0rc1
- Resolves: bz1719678
* Wed Aug 14 2019 Honggang Li <honli@redhat.com> - 1.8.0-2
- Fix segment fault issue for linux container
- Resolves: bz1731749