The latency cost of blocking is significant compared to round
trip ping-pong time. Spin briefly on rsockets before calling
into the kernel and blocking.
The time to spin before blocking is read from an rsocket
configuration file rdma/rsocket/polling_time. This is user
adjustable or may be set automatically by ibacm.
As a completely unintentional side effect, this just happens to
improve application performance in benchmarks, like netpipe.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
lib_LTLIBRARIES = src/librdmacm.la
ACLOCAL_AMFLAGS = -I config
-AM_CFLAGS = -g -Wall -D_GNU_SOURCE
+AM_CFLAGS = -g -Wall -D_GNU_SOURCE -DSYSCONFDIR=\"$(sysconfdir)\" -DRDMADIR=\"@rdmadir@\"
src_librdmacm_la_CFLAGS = $(AM_CFLAGS)
AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$ac_cv_version_script" = "yes")
+AC_ARG_VAR(rdmadir, [Directory for configuration files])
+if test "x$rdmadir" = "x"; then
+ AC_SUBST(rdmadir, rdma)
+fi
+
AC_CONFIG_FILES([Makefile librdmacm.spec])
AC_OUTPUT
cma_dev_cnt = dev_cnt;
ucma_set_af_ib_support();
+ rs_configure();
pthread_mutex_unlock(&mut);
ibv_free_device_list(dev_list);
return 0;
}
int ucma_init();
+void rs_configure();
extern int af_ib_support;
#define RAI_ROUTEONLY 0x01000000
};
#endif
+#ifndef SYSCONFDIR
+#define SYSCONFDIR "/etc"
+#endif
+#ifndef RDMADIR
+#define RDMADIR "rdma"
+#endif
+#define RDMA_CONF_DIR SYSCONFDIR "/" RDMADIR
+#define RS_CONF_DIR RDMA_CONF_DIR "/rsockets"
+
#endif /* CMA_H */
uint8_t *sbuf;
};
+void rs_configure(void)
+{
+
+}
+
/*
* We currently generate a completion per send. sqe_count = 1
*/