diff --git a/.gitignore b/.gitignore index a4a9ef3..53b19d2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libfabric-1.6.2.tar.bz2 +SOURCES/libfabric-1.9.0rc1.tar.bz2 diff --git a/.libfabric.metadata b/.libfabric.metadata index 8558b4f..8d2c412 100644 --- a/.libfabric.metadata +++ b/.libfabric.metadata @@ -1 +1 @@ -cb22495577b80d649e9e1307ab6e772e02937215 SOURCES/libfabric-1.6.2.tar.bz2 +5220280bc4cdd92f7729ecfa26d10091b27b3526 SOURCES/libfabric-1.9.0rc1.tar.bz2 diff --git a/SOURCES/0001-Revert-prov-psm2-Fix-scalalble-endpoint-handling-in-.patch b/SOURCES/0001-Revert-prov-psm2-Fix-scalalble-endpoint-handling-in-.patch new file mode 100644 index 0000000..d768f95 --- /dev/null +++ b/SOURCES/0001-Revert-prov-psm2-Fix-scalalble-endpoint-handling-in-.patch @@ -0,0 +1,40 @@ +From 0e3df6e32ba46fda98979e2e4fb1997d17f04b6e Mon Sep 17 00:00:00 2001 +From: Honggang Li +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 + diff --git a/SOURCES/0002-Revert-prov-psm2-Clean-up-connection-state-in-fi_av_.patch b/SOURCES/0002-Revert-prov-psm2-Clean-up-connection-state-in-fi_av_.patch new file mode 100644 index 0000000..0119275 --- /dev/null +++ b/SOURCES/0002-Revert-prov-psm2-Clean-up-connection-state-in-fi_av_.patch @@ -0,0 +1,112 @@ +From 8bafb0be08d93743db66398471723fe49983df1b Mon Sep 17 00:00:00 2001 +From: Honggang Li +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 + diff --git a/SPECS/libfabric.spec b/SPECS/libfabric.spec index bb5c443..4d21237 100644 --- a/SPECS/libfabric.spec +++ b/SPECS/libfabric.spec @@ -1,11 +1,13 @@ Name: libfabric -Version: 1.6.2 +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 @@ -46,6 +48,8 @@ developing applications that use %{name}. %prep %setup -q +%patch1 -p1 +%patch2 -p1 %build %configure --disable-static --disable-silent-rules @@ -83,6 +87,18 @@ find %{buildroot} -name '*.la' -exec rm -f {} ';' %changelog +* Tue Nov 05 2019 Honggang Li - 1.9.0rc1-1 +- Rebase to upstream release v1.9.0rc1 +- Resolves: bz1719678 + +* Wed Aug 14 2019 Honggang Li - 1.8.0-2 +- Fix segment fault issue for linux container +- Resolves: bz1731749 + +* Fri Jul 12 2019 Honggang Li - 1.8.0-1 +- Rebase to upstream release v1.8.0 +- Resolves: bz1660621 + * Mon Dec 10 2018 Honggang Li - 1.6.2-1 - Rebase to upstream release v1.6.2 - Resolves: bz1654870