The Mac appears to have problems with the keepalive support - once keepalive starts, the memory footprint soars. So disable keepalive on the Mac
Этот коммит содержится в:
родитель
1488e82efd
Коммит
8e30579e6e
@ -57,6 +57,12 @@ AC_DEFUN([OPAL_CHECK_OS_FLAVORS],
|
|||||||
[$opal_have_solaris],
|
[$opal_have_solaris],
|
||||||
[Whether or not we have solaris])
|
[Whether or not we have solaris])
|
||||||
|
|
||||||
|
AS_IF([test "$opal_found_apple" = "yes"],
|
||||||
|
[opal_have_mac=1], [opal_have_mac=0])
|
||||||
|
AC_DEFINE_UNQUOTED([OPAL_HAVE_MAC],
|
||||||
|
[$opal_have_mac],
|
||||||
|
[Whether or not we are on a Mac])
|
||||||
|
|
||||||
# check for sockaddr_in (a good sign we have TCP)
|
# check for sockaddr_in (a good sign we have TCP)
|
||||||
AC_CHECK_HEADERS([netdb.h netinet/in.h netinet/tcp.h])
|
AC_CHECK_HEADERS([netdb.h netinet/in.h netinet/tcp.h])
|
||||||
AC_CHECK_TYPES([struct sockaddr_in],
|
AC_CHECK_TYPES([struct sockaddr_in],
|
||||||
|
@ -72,7 +72,7 @@
|
|||||||
/**
|
/**
|
||||||
* Set socket buffering
|
* Set socket buffering
|
||||||
*/
|
*/
|
||||||
|
#if defined(SO_KEEPALIVE) && !OPAL_HAVE_MAC
|
||||||
static void set_keepalive(int sd)
|
static void set_keepalive(int sd)
|
||||||
{
|
{
|
||||||
int option;
|
int option;
|
||||||
@ -146,6 +146,7 @@ static void set_keepalive(int sd)
|
|||||||
}
|
}
|
||||||
#endif // TCP_KEEPCNT
|
#endif // TCP_KEEPCNT
|
||||||
}
|
}
|
||||||
|
#endif //SO_KEEPALIVE
|
||||||
|
|
||||||
void orte_oob_tcp_set_socket_options(int sd)
|
void orte_oob_tcp_set_socket_options(int sd)
|
||||||
{
|
{
|
||||||
@ -181,7 +182,7 @@ void orte_oob_tcp_set_socket_options(int sd)
|
|||||||
opal_socket_errno);
|
opal_socket_errno);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#if defined(SO_KEEPALIVE)
|
#if defined(SO_KEEPALIVE) && !OPAL_HAVE_MAC
|
||||||
if (0 < mca_oob_tcp_component.keepalive_time) {
|
if (0 < mca_oob_tcp_component.keepalive_time) {
|
||||||
set_keepalive(sd);
|
set_keepalive(sd);
|
||||||
}
|
}
|
||||||
|
@ -404,7 +404,7 @@ static int tcp_component_register(void)
|
|||||||
&mca_oob_tcp_component.disable_ipv6_family);
|
&mca_oob_tcp_component.disable_ipv6_family);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !OPAL_HAVE_MAC
|
||||||
mca_oob_tcp_component.keepalive_time = 10;
|
mca_oob_tcp_component.keepalive_time = 10;
|
||||||
(void)mca_base_component_var_register(component, "keepalive_time",
|
(void)mca_base_component_var_register(component, "keepalive_time",
|
||||||
"Idle time in seconds before starting to send keepalives (num <= 0 ----> disable keepalive)",
|
"Idle time in seconds before starting to send keepalives (num <= 0 ----> disable keepalive)",
|
||||||
@ -427,7 +427,8 @@ static int tcp_component_register(void)
|
|||||||
OPAL_INFO_LVL_9,
|
OPAL_INFO_LVL_9,
|
||||||
MCA_BASE_VAR_SCOPE_READONLY,
|
MCA_BASE_VAR_SCOPE_READONLY,
|
||||||
&mca_oob_tcp_component.keepalive_probes);
|
&mca_oob_tcp_component.keepalive_probes);
|
||||||
|
#endif
|
||||||
|
|
||||||
mca_oob_tcp_component.retry_delay = 0;
|
mca_oob_tcp_component.retry_delay = 0;
|
||||||
(void)mca_base_component_var_register(component, "retry_delay",
|
(void)mca_base_component_var_register(component, "retry_delay",
|
||||||
"Time (in sec) to wait before trying to connect to peer again",
|
"Time (in sec) to wait before trying to connect to peer again",
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user