Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libfabric for openSUSE:Factory 
checked in at 2022-10-18 12:44:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libfabric (Old)
 and      /work/SRC/openSUSE:Factory/.libfabric.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libfabric"

Tue Oct 18 12:44:22 2022 rev:36 rq:1012024 version:1.16.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/libfabric/fabtests.changes       2022-10-10 
18:43:35.586743458 +0200
+++ /work/SRC/openSUSE:Factory/.libfabric.new.2275/fabtests.changes     
2022-10-18 12:44:32.297660681 +0200
@@ -1,0 +2,12 @@
+Mon Oct 10 06:47:42 UTC 2022 - Nicolas Morey-Chaisemartin 
<[email protected]>
+
+- Update to 1.16.1
+  - Core
+    - Fix windows implementation to remove fd from poll set
+  - PSM3
+    - Add missing files to release tarball
+  - Util
+    - Handle NULL address insertion to fi_av_insert
+- Drop prov-rxm-Disable-128-bit-atomics.patch which was merged upstream
+
+-------------------------------------------------------------------
libfabric.changes: same change

Old:
----
  libfabric-1.16.0.0.fcf62e5b494b.tar.bz2
  prov-rxm-Disable-128-bit-atomics.patch

New:
----
  libfabric-1.16.1.0.619d9b3c4082.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fabtests.spec ++++++
--- /var/tmp/diff_new_pack.bUpCZn/_old  2022-10-18 12:44:33.069662438 +0200
+++ /var/tmp/diff_new_pack.bUpCZn/_new  2022-10-18 12:44:33.077662456 +0200
@@ -16,10 +16,10 @@
 #
 
 
-%define git_ver .0.fcf62e5b494b
+%define git_ver .0.619d9b3c4082
 
 Name:           fabtests
-Version:        1.16.0
+Version:        1.16.1
 Release:        0
 Summary:        Test suite for libfabric API
 License:        BSD-2-Clause OR GPL-2.0-only
@@ -28,7 +28,6 @@
 Source:         libfabric-%{version}%{git_ver}.tar.bz2
 Source1:        fabtests-rpmlintrc
 Patch0:         libfabric-libtool.patch
-Patch1:         prov-rxm-Disable-128-bit-atomics.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  libfabric-devel = %{version}
@@ -41,7 +40,6 @@
 %prep
 %setup -q -n  libfabric-%{version}%{git_ver}
 %patch0 -p1
-%patch1
 
 %build
 cd fabtests

++++++ libfabric.spec ++++++
--- /var/tmp/diff_new_pack.bUpCZn/_old  2022-10-18 12:44:33.109662529 +0200
+++ /var/tmp/diff_new_pack.bUpCZn/_new  2022-10-18 12:44:33.113662538 +0200
@@ -17,10 +17,10 @@
 
 
 #
-%define git_ver .0.fcf62e5b494b
+%define git_ver .0.619d9b3c4082
 
 Name:           libfabric
-Version:        1.16.0
+Version:        1.16.1
 Release:        0
 Summary:        User-space RDMA Fabric Interfaces
 License:        BSD-2-Clause OR GPL-2.0-only
@@ -28,7 +28,6 @@
 Source:         %{name}-%{version}%{git_ver}.tar.bz2
 Source1:        baselibs.conf
 Patch0:         libfabric-libtool.patch
-Patch1:         prov-rxm-Disable-128-bit-atomics.patch
 URL:            http://www.github.com/ofiwg/libfabric
 BuildRequires:  autoconf
 BuildRequires:  automake
@@ -71,7 +70,6 @@
 %prep
 %setup -q -n  %{name}-%{version}%{git_ver}
 %patch0 -p1
-%patch1
 
 %build
 rm -f config/libtool.m4

++++++ _service ++++++
--- /var/tmp/diff_new_pack.bUpCZn/_old  2022-10-18 12:44:33.153662630 +0200
+++ /var/tmp/diff_new_pack.bUpCZn/_new  2022-10-18 12:44:33.157662639 +0200
@@ -8,7 +8,7 @@
     <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="versionrewrite-replacement">\1</param>
-    <param name="revision">fcf62e5b494b78be35ee884c48ad84663abef0f0</param>
+    <param name="revision">619d9b3c4082dcf872c611ef18458ced067c29d7</param>
   </service>
   <service name="recompress" mode="disabled">
     <param name="file">libfabric*.tar</param>

++++++ libfabric-1.16.0.0.fcf62e5b494b.tar.bz2 -> 
libfabric-1.16.1.0.619d9b3c4082.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfabric-1.16.0.0.fcf62e5b494b/Makefile.am 
new/libfabric-1.16.1.0.619d9b3c4082/Makefile.am
--- old/libfabric-1.16.0.0.fcf62e5b494b/Makefile.am     2022-09-30 
00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/Makefile.am     2022-10-07 
21:13:18.000000000 +0200
@@ -197,7 +197,7 @@
 src_libfabric_la_DEPENDENCIES = libfabric.map
 
 if !EMBEDDED
-src_libfabric_la_LDFLAGS += -version-info 20:0:19
+src_libfabric_la_LDFLAGS += -version-info 20:1:19
 endif
 src_libfabric_la_LDFLAGS += -export-dynamic \
                           $(libfabric_version_script)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfabric-1.16.0.0.fcf62e5b494b/NEWS.md 
new/libfabric-1.16.1.0.619d9b3c4082/NEWS.md
--- old/libfabric-1.16.0.0.fcf62e5b494b/NEWS.md 2022-09-30 00:39:02.000000000 
+0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/NEWS.md 2022-10-07 21:13:18.000000000 
+0200
@@ -6,6 +6,30 @@
 version 1.0.  New major releases include all fixes from minor
 releases with earlier release dates.
 
+v1.16.1, Fri Oct 7, 2022
+========================
+
+## EFA
+
+- Flush MR cache when fork() is called
+
+## RxM
+
+- Disable 128-bit atomics
+
+## SHM
+
+- Add safeguards around peer mapping initialization
+- Fix Ze IPC race condition on startup
+
+## Verbs
+
+- Add missing header file to release package
+
+## Fabtests
+
+- Add net provider test config files to release package
+
 v1.16.0, Fri Sep 30, 2022
 =========================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfabric-1.16.0.0.fcf62e5b494b/configure.ac 
new/libfabric-1.16.1.0.619d9b3c4082/configure.ac
--- old/libfabric-1.16.0.0.fcf62e5b494b/configure.ac    2022-09-30 
00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/configure.ac    2022-10-07 
21:13:18.000000000 +0200
@@ -7,7 +7,7 @@
 dnl Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.60])
-AC_INIT([libfabric], [1.16.0], [[email protected]])
+AC_INIT([libfabric], [1.16.1], [[email protected]])
 AC_CONFIG_SRCDIR([src/fabric.c])
 AC_CONFIG_AUX_DIR(config)
 AC_CONFIG_MACRO_DIR(config)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/contrib/intel/jenkins/runtests.py 
new/libfabric-1.16.1.0.619d9b3c4082/contrib/intel/jenkins/runtests.py
--- old/libfabric-1.16.0.0.fcf62e5b494b/contrib/intel/jenkins/runtests.py       
2022-09-30 00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/contrib/intel/jenkins/runtests.py       
2022-10-07 21:13:18.000000000 +0200
@@ -45,7 +45,7 @@
 else:
     imb_group = '1'
 
-node = (os.environ['NODE_NAME']).split('-')[0]
+node = (os.environ['NODE_NAME']).split('_')[0]
 hosts = [node]
 mpilist = ['impi', 'mpich', 'ompi']
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfabric-1.16.0.0.fcf62e5b494b/fabtests/Makefile.am 
new/libfabric-1.16.1.0.619d9b3c4082/fabtests/Makefile.am
--- old/libfabric-1.16.0.0.fcf62e5b494b/fabtests/Makefile.am    2022-09-30 
00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/fabtests/Makefile.am    2022-10-07 
21:13:18.000000000 +0200
@@ -93,6 +93,8 @@
        test_configs/osx.exclude \
         test_configs/eq_cq.test \
         test_configs/lat_bw.test \
+       test_configs/net/all.test \
+       test_configs/net/net.exclude \
         test_configs/sockets/all.test \
         test_configs/sockets/quick.test \
        test_configs/sockets/complete.test \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/fabtests/configure.ac 
new/libfabric-1.16.1.0.619d9b3c4082/fabtests/configure.ac
--- old/libfabric-1.16.0.0.fcf62e5b494b/fabtests/configure.ac   2022-09-30 
00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/fabtests/configure.ac   2022-10-07 
21:13:18.000000000 +0200
@@ -5,7 +5,7 @@
 dnl Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.57)
-AC_INIT([fabtests], [1.16.0], [[email protected]])
+AC_INIT([fabtests], [1.16.1], [[email protected]])
 AC_CONFIG_AUX_DIR(config)
 AC_CONFIG_MACRO_DIR(config)
 AC_CONFIG_HEADERS(config.h)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/fabtests/pytest/common.py 
new/libfabric-1.16.1.0.619d9b3c4082/fabtests/pytest/common.py
--- old/libfabric-1.16.0.0.fcf62e5b494b/fabtests/pytest/common.py       
2022-09-30 00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/fabtests/pytest/common.py       
2022-10-07 21:13:18.000000000 +0200
@@ -1,14 +1,50 @@
 import pytest
 import errno
+import os
+from tempfile import NamedTemporaryFile
+from subprocess import run
+from retrying import retry
 
+
+class SshConnectionError(Exception):
+
+    def __init__(self):
+        super().__init__(self, "Ssh connection failed")
+
+
+def is_ssh_connection_error(exception):
+    return isinstance(exception, SshConnectionError)
+
+
+def has_ssh_connection_err_msg(output):
+    err_msgs = ["kex_exchange_identification: Connection closed by remote 
host",
+                "ssh_exchange_identification: Connection closed by remote 
host",
+                "ssh_exchange_identification: read: Connection reset by peer",
+                "port 22: Connection refused"]
+
+    for msg in err_msgs:
+        if output.find(msg) != -1:
+            return True
+
+    return False
+
+
+@retry(retry_on_exception=is_ssh_connection_error, stop_max_attempt_number=3, 
wait_fixed=5000)
 def has_cuda(ip):
-    from subprocess import run
-    proc = run(["ssh", ip, "nvidia-smi", "-L"])
+    outfile = NamedTemporaryFile(prefix="nvidia_smi.").name
+    proc = run("ssh {} nvidia-smi -L > {} 2>&1".format(ip, outfile), 
shell=True)
+    output = open(outfile).read()
+    os.unlink(outfile)
+    if has_ssh_connection_err_msg(output):
+        raise SshConnectionError()
+
     return proc.returncode == 0
 
+
+@retry(retry_on_exception=is_ssh_connection_error, stop_max_attempt_number=3, 
wait_fixed=5000)
 def has_hmem_support(cmdline_args, ip):
-    from subprocess import run
-    import os
+    outfile = NamedTemporaryFile(prefix="check_hmem.").name
+
     binpath = ""
     if cmdline_args.binpath:
         binpath = cmdline_args.binpath
@@ -17,9 +53,15 @@
           + " " + "-p " + cmdline_args.provider
     if cmdline_args.environments:
         cmd = cmdline_args.environments + " " + cmd
-    proc = run(["ssh", ip, cmd])
+    proc = run("ssh {} {} > {} 2>&1".format(ip, cmd, outfile), shell=True)
+    output = open(outfile).read()
+    os.unlink(outfile)
+    if has_ssh_connection_err_msg(output):
+        raise SshConnectionError()
+
     return proc.returncode == 0
 
+
 PASS = 1
 SKIP = 2
 FAIL = 3
@@ -93,6 +135,7 @@
         self._is_negative = is_negative
         self._command = cmdline_args.populate_command(base_command, "host")
 
+    @retry(retry_on_exception=is_ssh_connection_error, 
stop_max_attempt_number=3, wait_fixed=5000)
     def run(self):
         import os
         from tempfile import NamedTemporaryFile
@@ -113,10 +156,15 @@
             process.terminate()
             timeout = True
 
+        output = open(outfile).read()
         print("")
         print("command: " + self._command)
+        if has_ssh_connection_err_msg(output):
+            print("encountered ssh connection issue")
+            raise SshConnectionError()
+
         print("stdout: ")
-        print(open(outfile).read())
+        print(output)
         os.unlink(outfile)
 
         assert not timeout, "timed out"
@@ -233,6 +281,8 @@
 
         return command
 
+
+    @retry(retry_on_exception=is_ssh_connection_error, 
stop_max_attempt_number=3, wait_fixed=5000)
     def run(self):
         import os
         from time import sleep
@@ -268,16 +318,30 @@
             client_process.terminate()
             client_timed_out = True
 
+        server_output = open(server_outfile).read()
+        client_output = open(client_outfile).read()
+
         print("")
         print("server_command: " + self._server_command)
+        if has_ssh_connection_err_msg(server_output):
+            print("encountered ssh connection issue!")
+            raise SshConnectionError()
         print("server_stdout:")
-        print(open(server_outfile).read())
+        print(server_output)
+
         os.unlink(server_outfile)
         print("client_command: " + self._client_command)
+        if has_ssh_connection_err_msg(client_output):
+            print("encountered ssh connection issue!")
+            raise SshConnectionError()
+
         print("client_stdout:")
-        print(open(client_outfile).read())
+        print(client_output)
         os.unlink(client_outfile)
 
+        if has_ssh_connection_err_msg(server_output) or 
has_ssh_connection_err_msg(client_output):
+            raise SshConnectionError()
+
         assert not server_timed_out, "server timed out"
         assert not client_timed_out, "client timed out"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/fabtests/pytest/requirements.txt 
new/libfabric-1.16.1.0.619d9b3c4082/fabtests/pytest/requirements.txt
--- old/libfabric-1.16.0.0.fcf62e5b494b/fabtests/pytest/requirements.txt        
2022-09-30 00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/fabtests/pytest/requirements.txt        
2022-10-07 21:13:18.000000000 +0200
@@ -1,3 +1,4 @@
 pytest
 pytest-html
 pyyaml
+retrying
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/include/rdma/fabric.h 
new/libfabric-1.16.1.0.619d9b3c4082/include/rdma/fabric.h
--- old/libfabric-1.16.0.0.fcf62e5b494b/include/rdma/fabric.h   2022-09-30 
00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/include/rdma/fabric.h   2022-10-07 
21:13:18.000000000 +0200
@@ -85,7 +85,7 @@
 
 #define FI_MAJOR_VERSION 1
 #define FI_MINOR_VERSION 16
-#define FI_REVISION_VERSION 0
+#define FI_REVISION_VERSION 1
 
 enum {
        FI_PATH_MAX             = 256,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/include/windows/config.h 
new/libfabric-1.16.1.0.619d9b3c4082/include/windows/config.h
--- old/libfabric-1.16.0.0.fcf62e5b494b/include/windows/config.h        
2022-09-30 00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/include/windows/config.h        
2022-10-07 21:13:18.000000000 +0200
@@ -174,7 +174,7 @@
 #define PACKAGE_TARNAME PACKAGE
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.16.0"
+#define PACKAGE_VERSION "1.16.1"
 
 /* Define to the full name and version of this package. */
 #define PACKAGE_STRING PACKAGE_NAME " " PACKAGE_VERSION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfabric-1.16.0.0.fcf62e5b494b/man/fi_verbs.7.md 
new/libfabric-1.16.1.0.619d9b3c4082/man/fi_verbs.7.md
--- old/libfabric-1.16.0.0.fcf62e5b494b/man/fi_verbs.7.md       2022-09-30 
00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/man/fi_verbs.7.md       2022-10-07 
21:13:18.000000000 +0200
@@ -197,6 +197,12 @@
 *FI_VERBS_DEVICE_NAME*
 : Specify a specific verbs device to use by name
 
+*FI_VERBS_USE_DMABUF*
+: If supported, try to use ibv_reg_dmabuf_mr first to register dmabuf-based
+  buffers. Set it to "no" to always use ibv_reg_mr which can be helpful for
+  testing the functionality of the dmabuf_peer_mem hooking provider and the
+  corresponding kernel driver. (default: yes)
+
 ### Variables specific to MSG endpoints
 
 *FI_VERBS_IFACE*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/prov/efa/src/efa_domain.c 
new/libfabric-1.16.1.0.619d9b3c4082/prov/efa/src/efa_domain.c
--- old/libfabric-1.16.0.0.fcf62e5b494b/prov/efa/src/efa_domain.c       
2022-09-30 00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/prov/efa/src/efa_domain.c       
2022-10-07 21:13:18.000000000 +0200
@@ -39,6 +39,8 @@
 #include "rxr_cntr.h"
 #include "rxr_atomic.h"
 
+struct dlist_entry g_efa_domain_list;
+
 static int efa_domain_close(fid_t fid);
 
 static struct fi_ops efa_ops_domain_fid = {
@@ -161,6 +163,7 @@
        if (!efa_domain)
                return -FI_ENOMEM;
 
+       dlist_init(&efa_domain->list_entry);
        efa_domain->fabric = container_of(fabric_fid, struct efa_fabric,
                                          util_fabric.fabric_fid);
 
@@ -263,6 +266,7 @@
                goto err_free;
        }
 
+       dlist_insert_tail(&efa_domain->list_entry, &g_efa_domain_list);
        return 0;
 
 err_free:
@@ -288,6 +292,8 @@
        efa_domain = container_of(fid, struct efa_domain,
                                  util_domain.domain_fid.fid);
 
+       dlist_remove(&efa_domain->list_entry);
+
        if (efa_domain->cache) {
                ofi_mr_cache_cleanup(efa_domain->cache);
                free(efa_domain->cache);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/prov/efa/src/efa_domain.h 
new/libfabric-1.16.1.0.619d9b3c4082/prov/efa/src/efa_domain.h
--- old/libfabric-1.16.0.0.fcf62e5b494b/prov/efa/src/efa_domain.h       
2022-09-30 00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/prov/efa/src/efa_domain.h       
2022-10-07 21:13:18.000000000 +0200
@@ -52,8 +52,11 @@
        bool                    mr_local;
        uint64_t                rdm_mode;
        size_t                  rdm_cq_size;
+       struct dlist_entry      list_entry; /* linked to g_efa_domain_list */
 };
 
+extern struct dlist_entry g_efa_domain_list;
+
 /*
  * efa_is_cache_available() is a check to see whether a memory registration
  * cache is available to be used by this domain.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/prov/efa/src/efa_fabric.c 
new/libfabric-1.16.1.0.619d9b3c4082/prov/efa/src/efa_fabric.c
--- old/libfabric-1.16.0.0.fcf62e5b494b/prov/efa/src/efa_fabric.c       
2022-09-30 00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/prov/efa/src/efa_fabric.c       
2022-10-07 21:13:18.000000000 +0200
@@ -285,6 +285,7 @@
                goto err_free;
        }
 
+       dlist_init(&g_efa_domain_list);
        return 0;
 
 err_free:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/prov/efa/src/efa_fork_support.c 
new/libfabric-1.16.1.0.619d9b3c4082/prov/efa/src/efa_fork_support.c
--- old/libfabric-1.16.0.0.fcf62e5b494b/prov/efa/src/efa_fork_support.c 
2022-09-30 00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/prov/efa/src/efa_fork_support.c 
2022-10-07 21:13:18.000000000 +0200
@@ -140,7 +140,7 @@
  * running on an EC2 instance.
  */
 static
-void efa_atfork_callback()
+void efa_atfork_callback_warn_and_abort()
 {
        static int visited = 0;
 
@@ -176,6 +176,29 @@
        abort();
 }
 
+/**
+ * @brief flush all MR caches
+ *
+ * Going through all domains, and flush the MR caches in them
+ * until all inactive MRs are de-registered.
+ * This makes all memory regions that are not actively used
+ * in data transfer visible to the child process.
+ */
+void efa_atfork_callback_flush_mr_cache()
+{
+       struct dlist_entry *tmp;
+       struct efa_domain *efa_domain;
+       bool flush_lru = true;
+
+       dlist_foreach_container_safe(&g_efa_domain_list,
+                                    struct efa_domain,
+                                    efa_domain, list_entry, tmp) {
+               if (efa_domain->cache) {
+                       while(ofi_mr_cache_flush(efa_domain->cache, flush_lru));
+               }
+       }
+}
+
 #ifndef _WIN32
 
 /* @brief Check when fork is requested and abort in unsupported cases
@@ -230,14 +253,21 @@
         * fork check above. This can move to the provider init once that check
         * is gone.
         */
-       if (!fork_handler_installed && g_efa_fork_status == 
EFA_FORK_SUPPORT_OFF) {
-               ret = pthread_atfork(efa_atfork_callback, NULL, NULL);
+       if (!fork_handler_installed && g_efa_fork_status != 
EFA_FORK_SUPPORT_UNNEEDED) {
+               if (g_efa_fork_status == EFA_FORK_SUPPORT_OFF) {
+                       ret = 
pthread_atfork(efa_atfork_callback_warn_and_abort, NULL, NULL);
+               } else {
+                       assert(g_efa_fork_status == EFA_FORK_SUPPORT_ON);
+                       ret = 
pthread_atfork(efa_atfork_callback_flush_mr_cache, NULL, NULL);
+               }
+
                if (ret) {
                        EFA_WARN(FI_LOG_DOMAIN,
                                 "Unable to register atfork callback: %s\n",
                                 strerror(-ret));
                        return ret;
                }
+
                fork_handler_installed = 1;
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/prov/rxm/src/rxm_atomic.c 
new/libfabric-1.16.1.0.619d9b3c4082/prov/rxm/src/rxm_atomic.c
--- old/libfabric-1.16.0.0.fcf62e5b494b/prov/rxm/src/rxm_atomic.c       
2022-09-30 00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/prov/rxm/src/rxm_atomic.c       
2022-10-07 21:13:18.000000000 +0200
@@ -509,6 +509,12 @@
                return -FI_EINVAL;
        }
 
+       if ((datatype == FI_INT128) || (datatype == FI_UINT128)) {
+               FI_WARN(&rxm_prov, FI_LOG_EP_CTRL,
+                       "128-bit integers not supported\n");
+               return -FI_EOPNOTSUPP;
+       }
+
        ret = ofi_atomic_valid(&rxm_prov, datatype, op, flags);
        if (ret || !attr)
                return ret;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/prov/shm/src/smr_ep.c 
new/libfabric-1.16.1.0.619d9b3c4082/prov/shm/src/smr_ep.c
--- old/libfabric-1.16.0.0.fcf62e5b494b/prov/shm/src/smr_ep.c   2022-09-30 
00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/prov/shm/src/smr_ep.c   2022-10-07 
21:13:18.000000000 +0200
@@ -755,7 +755,7 @@
        struct smr_cmd *cmd;
        struct smr_resp *resp;
        struct smr_tx_entry *pend;
-       int ret;
+       int ret = -FI_EAGAIN;
 
        if (ofi_cirque_isfull(smr_resp_queue(ep->region)))
                return -FI_EAGAIN;
@@ -765,12 +765,14 @@
        pend = ofi_freestack_pop(ep->pend_fs);
 
        smr_generic_format(cmd, peer_id, op, tag, data, op_flags);
-       if (iface == FI_HMEM_ZE && smr_ze_ipc_enabled(ep->region, peer_smr))
-               ret = smr_format_ze_ipc(ep, id, cmd, iov, device, total_len,
-                                       ep->region, resp, pend);
-       else
+       if (iface == FI_HMEM_ZE) {
+               if (smr_ze_ipc_enabled(ep->region, peer_smr))
+                       ret = smr_format_ze_ipc(ep, id, cmd, iov, device,
+                                       total_len, ep->region, resp, pend);
+       } else {
                ret = smr_format_ipc(cmd, iov[0].iov_base, total_len, 
ep->region,
                                     resp, iface);
+       }
 
        if (ret) {
                FI_WARN_ONCE(&smr_prov, FI_LOG_EP_CTRL,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/prov/util/src/util_shm.c 
new/libfabric-1.16.1.0.619d9b3c4082/prov/util/src/util_shm.c
--- old/libfabric-1.16.0.0.fcf62e5b494b/prov/util/src/util_shm.c        
2022-09-30 00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/prov/util/src/util_shm.c        
2022-10-07 21:13:18.000000000 +0200
@@ -363,6 +363,9 @@
        const char *name = smr_no_prefix(peer_buf->peer.name);
        char tmp[SMR_PATH_MAX];
 
+       if (peer_buf->region)
+               return FI_SUCCESS;
+
        pthread_mutex_lock(&ep_list_lock);
        entry = dlist_find_first_match(&ep_name_list, smr_match_name, name);
        if (entry) {
@@ -493,6 +496,7 @@
        node->data = (void *) (intptr_t) *id;
        strncpy(map->peers[*id].peer.name, name, SMR_NAME_MAX);
        map->peers[*id].peer.name[SMR_NAME_MAX - 1] = '\0';
+       map->peers[*id].region = NULL;
 
        ret = smr_map_to_region(prov, &map->peers[*id]);
        if (!ret)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libfabric-1.16.0.0.fcf62e5b494b/prov/verbs/Makefile.include 
new/libfabric-1.16.1.0.619d9b3c4082/prov/verbs/Makefile.include
--- old/libfabric-1.16.0.0.fcf62e5b494b/prov/verbs/Makefile.include     
2022-09-30 00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/prov/verbs/Makefile.include     
2022-10-07 21:13:18.000000000 +0200
@@ -15,7 +15,8 @@
        prov/verbs/src/verbs_rma.c                              \
        prov/verbs/src/verbs_dgram_ep_msg.c                     \
        prov/verbs/src/verbs_dgram_av.c                         \
-       prov/verbs/include/ofi_verbs_priv.h
+       prov/verbs/include/ofi_verbs_priv.h                     \
+       prov/verbs/include/linux/verbs_osd.h
 
 if HAVE_VERBS_DL
 pkglib_LTLIBRARIES += libverbs-fi.la
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libfabric-1.16.0.0.fcf62e5b494b/src/hmem_ze.c 
new/libfabric-1.16.1.0.619d9b3c4082/src/hmem_ze.c
--- old/libfabric-1.16.0.0.fcf62e5b494b/src/hmem_ze.c   2022-09-30 
00:39:02.000000000 +0200
+++ new/libfabric-1.16.1.0.619d9b3c4082/src/hmem_ze.c   2022-10-07 
21:13:18.000000000 +0200
@@ -365,6 +365,7 @@
        ze_ipc_mem_handle_t ze_handle;
        int ret;
 
+       assert(dev_fd != -1);
        ret = ze_hmem_get_handle(dev_buf, (void **) &ze_handle);
        if (ret)
                return ret;

Reply via email to