[Pkg-ofed-commits] [libfabric] 50/123: prov/sockets: avoid bind before connect as the port info is exchanged during connection establishment.

Ana Beatriz Guerrero López ana at moszumanska.debian.org
Sat Oct 22 12:28:29 UTC 2016


This is an automated email from the git hooks/post-receive script.

ana pushed a commit to annotated tag v1.1.1
in repository libfabric.

commit cd12589248b1d6946453439bd8e23e1f7eb2d2f3
Author: Jithin Jose <jithin.jose at intel.com>
Date:   Mon Aug 31 11:33:26 2015 -0700

    prov/sockets: avoid bind before connect as the port info is exchanged
    during connection establishment.
    
    Signed-off-by: Jithin Jose <jithin.jose at intel.com>
---
 prov/sockets/src/sock_av.c     |  2 +-
 prov/sockets/src/sock_conn.c   | 10 +---------
 prov/sockets/src/sock_dom.c    |  2 +-
 prov/sockets/src/sock_fabric.c | 10 ++++++++++
 prov/sockets/src/sock_util.h   |  2 ++
 5 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/prov/sockets/src/sock_av.c b/prov/sockets/src/sock_av.c
index 9211bb8..0ac12c6 100644
--- a/prov/sockets/src/sock_av.c
+++ b/prov/sockets/src/sock_av.c
@@ -551,7 +551,7 @@ int sock_av_open(struct fid_domain *domain, struct fi_av_attr *attr,
 		return -FI_ENOMEM;
 
 	_av->attr = *attr;
-	_av->attr.count = (attr->count) ? attr->count : SOCK_AV_DEF_SZ;
+	_av->attr.count = (attr->count) ? attr->count : sock_av_def_sz;
 
 	_av->key = calloc(_av->attr.count, sizeof(uint16_t));
 	if (!_av->key) {
diff --git a/prov/sockets/src/sock_conn.c b/prov/sockets/src/sock_conn.c
index 74b1030..52c8502 100644
--- a/prov/sockets/src/sock_conn.c
+++ b/prov/sockets/src/sock_conn.c
@@ -227,15 +227,7 @@ bind_retry:
 		return -errno;
 	}
 
-	src_addr.sin_port = 0;
-	sock_set_sockopt_reuseaddr(conn_fd);
-	if (bind(conn_fd, (struct sockaddr*) &src_addr, sizeof(src_addr))) {
-		SOCK_LOG_ERROR("bind failed : %s\n", strerror(errno));
-		close(conn_fd);
-		errno = FI_EOTHER;
-		return -errno;
-	}
-	
+	sock_set_sockopt_reuseaddr(conn_fd);	
 	SOCK_LOG_DBG("Connecting to: %s:%d\n", inet_ntoa(addr->sin_addr),
 		      ntohs(addr->sin_port));
 	SOCK_LOG_DBG("Connecting using address:%s\n",
diff --git a/prov/sockets/src/sock_dom.c b/prov/sockets/src/sock_dom.c
index dd9a86a..c93d714 100644
--- a/prov/sockets/src/sock_dom.c
+++ b/prov/sockets/src/sock_dom.c
@@ -496,7 +496,7 @@ int sock_domain(struct fid_fabric *fabric, struct fi_info *info,
 		goto err;
 	}
 
-	if (sock_conn_map_init(&sock_domain->r_cmap, SOCK_CMAP_DEF_SZ))
+	if (sock_conn_map_init(&sock_domain->r_cmap, sock_cm_def_map_sz))
 		goto err;
 
 	sock_domain->r_cmap.domain = sock_domain;
diff --git a/prov/sockets/src/sock_fabric.c b/prov/sockets/src/sock_fabric.c
index ba5ab81..4801af8 100644
--- a/prov/sockets/src/sock_fabric.c
+++ b/prov/sockets/src/sock_fabric.c
@@ -55,6 +55,8 @@ const char sock_fab_name[] = "IP";
 const char sock_dom_name[] = "sockets";
 const char sock_prov_name[] = "sockets";
 int sock_conn_retry = SOCK_CM_DEF_RETRY;
+int sock_cm_def_map_sz = SOCK_CMAP_DEF_SZ;
+int sock_av_def_sz = SOCK_AV_DEF_SZ;
 #if ENABLE_DEBUG
 int sock_dgram_drop_rate = 0;
 #endif
@@ -603,6 +605,14 @@ SOCKETS_INI
 			"Number of connection retries before reporting as failure");
 	fi_param_get_int(&sock_prov, "conn_retry_attempts", &sock_conn_retry);
 
+	fi_param_define(&sock_prov, "def_conn_map_sz", FI_PARAM_INT,
+			"Default connection map size");
+	fi_param_get_int(&sock_prov, "def_conn_map_sz", &sock_cm_def_map_sz);
+
+	fi_param_define(&sock_prov, "def_av_sz", FI_PARAM_INT,
+			"Default address vector size");
+	fi_param_get_int(&sock_prov, "def_av_sz", &sock_av_def_sz);
+
 	fastlock_init(&sock_list_lock);
 	dlist_init(&sock_fab_list);
 	dlist_init(&sock_dom_list);
diff --git a/prov/sockets/src/sock_util.h b/prov/sockets/src/sock_util.h
index 7b5aca1..3595cea 100644
--- a/prov/sockets/src/sock_util.h
+++ b/prov/sockets/src/sock_util.h
@@ -43,6 +43,8 @@ extern const char sock_prov_name[];
 extern struct fi_provider sock_prov;
 extern int sock_pe_waittime;
 extern int sock_conn_retry;
+extern int sock_cm_def_map_sz;
+extern int sock_av_def_sz;
 #if ENABLE_DEBUG
 extern int sock_dgram_drop_rate;
 #endif

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ofed/libfabric.git



More information about the Pkg-ofed-commits mailing list