import libfabric-1.9.0rc1-1.el8

This commit is contained in:
CentOS Sources 2020-01-21 14:51:05 -05:00 committed by Andrew Lukoshko
commit cc6519eb0b
5 changed files with 322 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/libfabric-1.9.0rc1.tar.bz2

1
.libfabric.metadata Normal file
View File

@ -0,0 +1 @@
5220280bc4cdd92f7729ecfa26d10091b27b3526 SOURCES/libfabric-1.9.0rc1.tar.bz2

View File

@ -0,0 +1,40 @@
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

@ -0,0 +1,112 @@
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

168
SPECS/libfabric.spec Normal file
View File

@ -0,0 +1,168 @@
Name: libfabric
Version: 1.9.0rc1
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
BuildRequires: libnl3-devel
# RDMA not available on 32-bit ARM: #1484155
%ifnarch %{arm}
BuildRequires: libibverbs-devel
BuildRequires: librdmacm-devel
%endif
%ifarch x86_64
%if 0%{?fedora} || ( 0%{?rhel} >= 6 && 0%{?rhel} <= 7 )
BuildRequires: infinipath-psm-devel
%endif
%if 0%{?fedora} >= 25 || 0%{?rhel} >= 7
BuildRequires: libpsm2-devel
%endif
%endif
%description
OpenFabrics Interfaces (OFI) is a framework focused on exporting fabric
communication services to applications. OFI is best described as a collection
of libraries and applications used to export fabric services. The key
components of OFI are: application interfaces, provider libraries, kernel
services, daemons, and test applications.
Libfabric is a core component of OFI. It is the library that defines and
exports the user-space API of OFI, and is typically the only software that
applications deal with directly. It works in conjunction with provider
libraries, which are often integrated directly into libfabric.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%build
%configure --disable-static --disable-silent-rules
%make_build
%install
%make_install
find %{buildroot} -name '*.la' -exec rm -f {} ';'
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%license COPYING
%{_bindir}/fi_info
%{_bindir}/fi_pingpong
%{_bindir}/fi_strerror
%{_libdir}/*.so.1*
%{_mandir}/man1/*.1*
%files devel
%license COPYING
%doc AUTHORS README
# We knowingly share this with kernel-headers and librdmacm-devel
# https://github.com/ofiwg/libfabric/issues/1277
%{_includedir}/rdma/
%{_libdir}/*.so
%{_libdir}/pkgconfig/%{name}.pc
%{_mandir}/man3/*.3*
%{_mandir}/man7/*.7*
%changelog
* 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
* Fri Jul 12 2019 Honggang Li <honli@redhat.com> - 1.8.0-1
- Rebase to upstream release v1.8.0
- Resolves: bz1660621
* Mon Dec 10 2018 Honggang Li <honli@redhat.com> - 1.6.2-1
- Rebase to upstream release v1.6.2
- Resolves: bz1654870
* Mon Oct 8 2018 Honggang Li <honli@redhat.com> - 1.6.1-3
- Revert a psm2 commit to avoid sporadic assertion failures
- Resolves: bz1627981
* Sun Jul 1 2018 Honggang Li <honli@redhat.com> - 1.6.1-2
- No longer support infinipath-psm
* Fri Jun 22 2018 Honggang Li <honli@redhat.com> - 1.6.1-1
- Rebase to latest upstream release 1.6.1
- Resolves: bz1550404
* Thu Mar 15 2018 Orion Poplawski <orion@nwra.com> - 1.6.0-1
- Update to 1.6.0
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Aug 23 2017 Adam Williamson <awilliam@redhat.com> - 1.4.2-5
- Disable RDMA support on 32-bit ARM (#1484155)
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Sun Jul 30 2017 Florian Weimer <fweimer@redhat.com> - 1.4.2-3
- Rebuild with binutils fix for ppc64le (#1475636)
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Jul 11 2017 Orion Poplawski <orion@cora.nwra.com> - 1.4.2-1
- Update to 1.4.2
* Mon Apr 10 2017 Orion Poplawski <orion@cora.nwra.com> - 1.4.1-1
- Update to 1.4.1
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Nov 3 2016 Orion Poplawski <orion@cora.nwra.com> - 1.4.0-1
- Update to 1.4.0
* Thu Jul 21 2016 Orion Poplawski <orion@cora.nwra.com> - 1.3.0-3
- Rebuild for aarch64 glibc update
* Tue May 31 2016 Orion Poplawski <orion@cora.nwra.com> - 1.3.0-2
- Use psm/psm2 if possible on Fedora (bug #1340988)
* Tue Apr 12 2016 Orion Poplawski <orion@cora.nwra.com> - 1.3.0-1
- Update to 1.3.0
* Wed Mar 9 2016 Orion Poplawski <orion@cora.nwra.com> - 1.2.0-1
- Update to 1.2.0
- Use psm/psm2 if possible on EL
- Add upstream patch to fix non-x86 builds
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Aug 26 2015 Orion Poplawski <orion@cora.nwra.com> - 1.1.0-1
- Update to 1.1.0
* Mon Jul 20 2015 Orion Poplawski <orion@cora.nwra.com> - 1.0.0-1
- Initial package