+++ /dev/null
-Bottom: e82c044cf309455824c63dc15e3d4af71448cf16
-Top: 19653040b4f6827e46b2b5079ab41e32a223fc76
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-06-05 15:28:18 -0700
-
-rsocket: Use configuration files to specify default settings
-
-Give an administrator control over the default settings
-used by rsockets. Use files under %sysconfig%/rdma/rsocket as shown:
-
-mem_default - default size of receive buffer(s)
-wmem_default - default size of send buffer(s)
-sqsize_default - default size of send queue
-rqsize_default - default size of receive queue
-inline_default - default size of inline data
-
-If configuration files are not available, rsockets will continue to
-use internal defaults.
-
-Signed-off-by: Sean Hefty <sean.hefty@intel.com>
-
-
----
-
-diff --git a/src/rsocket.c b/src/rsocket.c
-index 7692498..a3c2c6a 100644
---- a/src/rsocket.c
-+++ b/src/rsocket.c
-@@ -53,19 +53,20 @@
- #include "cma.h"
- #include "indexer.h"
-
--#define RS_INLINE 64
- #define RS_OLAP_START_SIZE 2048
- #define RS_MAX_TRANSFER 65536
--#define RS_QP_SIZE 384
- #define RS_QP_MAX_SIZE 0xFFFE
--#define RS_QP_MIN_SIZE 8
- #define RS_QP_CTRL_SIZE 4
- #define RS_CONN_RETRIES 6
- #define RS_SGL_SIZE 2
--#define RS_BUF_SIZE (1 << 17)
- static struct index_map idm;
- static pthread_mutex_t mut = PTHREAD_MUTEX_INITIALIZER;
-
-+static uint16_t def_inline = 64;
-+static uint16_t def_sqsize = 384;
-+static uint16_t def_rqsize = 384;
-+static uint32_t def_mem = (1 << 17);
-+static uint32_t def_wmem = (1 << 17);
- static uint32_t polling_time = 10;
-
- /*
-@@ -216,6 +217,40 @@ void rs_configure(void)
- fscanf(f, "%u", &polling_time);
- fclose(f);
- }
-+
-+ if ((f = fopen(RS_CONF_DIR "/inline_default", "r"))) {
-+ fscanf(f, "%hu", &def_inline);
-+ fclose(f);
-+
-+ if (def_inline < RS_MIN_INLINE)
-+ def_inline = RS_MIN_INLINE;
-+ }
-+
-+ if ((f = fopen(RS_CONF_DIR "/sqsize_default", "r"))) {
-+ fscanf(f, "%hu", &def_sqsize);
-+ fclose(f);
-+ }
-+
-+ if ((f = fopen(RS_CONF_DIR "/rqsize_default", "r"))) {
-+ fscanf(f, "%hu", &def_rqsize);
-+ fclose(f);
-+ }
-+
-+ if ((f = fopen(RS_CONF_DIR "/mem_default", "r"))) {
-+ fscanf(f, "%u", &def_mem);
-+ fclose(f);
-+
-+ if (def_mem < 1)
-+ def_mem = 1;
-+ }
-+
-+ if ((f = fopen(RS_CONF_DIR "/wmem_default", "r"))) {
-+ fscanf(f, "%u", &def_wmem);
-+ fclose(f);
-+
-+ if (def_wmem < 1)
-+ def_wmem = 1;
-+ }
- init = 1;
- out:
- pthread_mutex_unlock(&mut);
-@@ -264,9 +299,11 @@ static struct rsocket *rs_alloc(struct rsocket *inherited_rs)
- rs->rq_size = inherited_rs->rq_size;
- rs->ctrl_avail = inherited_rs->ctrl_avail;
- } else {
-- rs->sbuf_size = rs->rbuf_size = RS_BUF_SIZE;
-- rs->sq_inline = RS_INLINE;
-- rs->sq_size = rs->rq_size = RS_QP_SIZE;
-+ rs->sbuf_size = def_wmem;
-+ rs->rbuf_size = def_mem;
-+ rs->sq_inline = def_inline;
-+ rs->sq_size = def_sqsize;
-+ rs->rq_size = def_rqsize;
- rs->ctrl_avail = RS_QP_CTRL_SIZE;
- }
- fastlock_init(&rs->slock);