SHA256
1
0
forked from pool/dapl

Accepting request 612894 from home:NMoreyChaisemartin:branches:science:HPC

- Add ucm-mcm-fix-backlog-parameter-for-socket.patch to fix
  a "deadlock" that causes socket connection to timeout when
  net.ipv4.tcp_syncookies=0. (bsc#1094657)

OBS-URL: https://build.opensuse.org/request/show/612894
OBS-URL: https://build.opensuse.org/package/show/science:HPC/dapl?expand=0&rev=20
This commit is contained in:
Nicolas Morey-Chaisemartin 2018-05-31 17:02:58 +00:00 committed by Git OBS Bridge
parent 6879ef25db
commit 69881ad4b5
5 changed files with 65 additions and 5 deletions

View File

@ -1,5 +1,12 @@
-------------------------------------------------------------------
Thu May 24 12:50:25 UTC 2018 - kasimir_@outlook.de
Tue May 29 06:04:37 UTC 2018 - nmoreychaisemartin@suse.com
- Add ucm-mcm-fix-backlog-parameter-for-socket.patch to fix
a "deadlock" that causes socket connection to timeout when
net.ipv4.tcp_syncookies=0. (bsc#1094657)
-------------------------------------------------------------------
Thu May 24 12:47:16 UTC 2018 - kasimir_@outlook.de
- Add patch for arm platform support
* dapl-add-arm-platform-support.patch

View File

@ -1,7 +1,7 @@
#
# spec file for package dapl-debug
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -19,7 +19,7 @@
%define git_version %nil
Name: dapl-debug
Summary: A Library for userspace access to RDMA devices using OS Agnostic DAT APIs
License: BSD-3-Clause or GPL-2.0+ or CPL-1.0
License: BSD-3-Clause OR GPL-2.0-or-later OR CPL-1.0
Group: Productivity/Networking/System
Version: 2.1.10
Release: 0
@ -32,6 +32,7 @@ Patch6: dapl-man_page_fixes.patch
Patch7: dapl-fsf_address.patch
Patch12: dapl-s390.patch
Patch13: dapl-add-arm-platform-support.patch
Patch14: ucm-mcm-fix-backlog-parameter-for-socket.patch
Url: http://www.openfabrics.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
@ -130,6 +131,7 @@ Test suite to validate the uDAPL library APIs.
%patch7
%patch12
%patch13
%patch14
%build
%if %suse_version == 1110

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue May 29 06:04:37 UTC 2018 - nmoreychaisemartin@suse.com
- Add ucm-mcm-fix-backlog-parameter-for-socket.patch to fix
a "deadlock" that causes socket connection to timeout when
net.ipv4.tcp_syncookies=0. (bsc#1094657)
-------------------------------------------------------------------
Thu May 24 12:47:16 UTC 2018 - kasimir_@outlook.de

View File

@ -1,7 +1,7 @@
#
# spec file for package dapl
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -19,7 +19,7 @@
%define git_version %nil
Name: dapl
Summary: A Library for userspace access to RDMA devices using OS Agnostic DAT APIs
License: BSD-3-Clause or GPL-2.0+ or CPL-1.0
License: BSD-3-Clause OR GPL-2.0-or-later OR CPL-1.0
Group: Productivity/Networking/System
Version: 2.1.10
Release: 0
@ -32,6 +32,7 @@ Patch6: dapl-man_page_fixes.patch
Patch7: dapl-fsf_address.patch
Patch12: dapl-s390.patch
Patch13: dapl-add-arm-platform-support.patch
Patch14: ucm-mcm-fix-backlog-parameter-for-socket.patch
Url: http://www.openfabrics.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
@ -130,6 +131,7 @@ Test suite to validate the uDAPL library APIs.
%patch7
%patch12
%patch13
%patch14
%build
%if %suse_version == 1110

View File

@ -0,0 +1,42 @@
commit 40264438e5320d4bf2cde5d8c1c2ddc4637d3042
Author: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
Date: Tue May 29 07:53:52 2018 +0200
ucm, mcm: fix backlog parameter for socket
Using listen(, 0) forces a synchronization barrier between connect and accept
if net.ipv4.tcp_syncookies. As this is done by a single thread, it causes connect
to timeout with a similar message:
open_hca: failed to init cr pipe - Connection timed out
Replace with listen(, 1) so the kernel can accept the connection itself and remove
the synchronisation point.
Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com>
diff --git dapl/openib_mcm/device.c dapl/openib_mcm/device.c
index 2e30221ac2d2..5ea25615f683 100644
--- dapl/openib_mcm/device.c
+++ dapl/openib_mcm/device.c
@@ -59,7 +59,7 @@ static int32_t create_os_signal(IN DAPL_HCA * hca_ptr)
if (ret)
goto err1;
- ret = listen(listen_socket, 0);
+ ret = listen(listen_socket, 1);
if (ret)
goto err1;
diff --git dapl/openib_ucm/device.c dapl/openib_ucm/device.c
index 11f7334ec348..9e257835f44b 100644
--- dapl/openib_ucm/device.c
+++ dapl/openib_ucm/device.c
@@ -92,7 +92,7 @@ static int32_t create_os_signal(IN DAPL_HCA * hca_ptr)
if (ret)
goto err1;
- ret = listen(listen_socket, 0);
+ ret = listen(listen_socket, 1);
if (ret)
goto err1;