Version: 1
-Previous: 9f82c11aa5504370e77e44ff124162262089df13
+Previous: 395b69105bd93455fc497dde71ca73991b723277
Head: 992a8c5abcb0199fd6214fd31b6695573ccb5bf5
Applied:
reuseaddr: 5ce7d9c48d082fd1959918e9134f4bdd85c402d9
- rstream-delay: 8f0437ec677c4752126de8667e093667dd681d56
+ rs-delay: 8f0437ec677c4752126de8667e093667dd681d56
rstream-async-opt: 0ee1dfc9ad50f07fd3708ebb04cb92e0fb2f41d5
rs-nodelay: 7601a5adca71f10ad1cb63292c769b7b9a35dd08
rs-async-nonblock: 992a8c5abcb0199fd6214fd31b6695573ccb5bf5
--- /dev/null
+Bottom: ea75b8334003947a7f09ba5f0efcec267b5143c1
+Top: 1e3526d39b2591bb10a08bfed2622f05f82b1bd8
+Author: Sean Hefty <sean.hefty@intel.com>
+Date: 2012-05-11 10:33:13 -0700
+
+librdmacm/rstream: Set rsocket nonblocking for base tests
+
+The base set of rstream tests want nonblocking rsockets, but don't
+actually set the rsocket to nonblocking. It instead relies on the
+MSG_DONTWAIT flag. Make the code match the expected behavior and
+set the rsocket to nonblocking and make nonblocking the default.
+
+Provide a test option to switch it back to blocking mode. We keep
+the existing nonblocking test option for compatibility.
+
+Signed-off-by: Sean Hefty <sean.hefty@intel.com>
+
+
+---
+
+diff --git a/examples/rstream.c b/examples/rstream.c
+index 8aa089d..7f39b29 100644
+--- a/examples/rstream.c
++++ b/examples/rstream.c
+@@ -56,8 +56,8 @@ static int test_size[] = {
+ static int use_rs = 1;
+ static int use_async;
+ static int verify;
+-static int flags;
+-static int no_delay;
++static int flags = MSG_DONTWAIT;
++static int no_delay = 1;
+ static int custom;
+ static int iterations = 1;
+ static int transfer_size = 1000;
+@@ -151,8 +151,6 @@ static void init_latency_test(int size)
+ {
+ size_str(test_name, size);
+ sprintf(test_name, "%s_lat", test_name);
+- no_delay = 1;
+- flags |= MSG_DONTWAIT;
+ transfer_count = 1;
+ transfer_size = size;
+ iterations = size_to_count(transfer_size);
+@@ -162,8 +160,6 @@ static void init_bandwidth_test(int size)
+ {
+ size_str(test_name, size);
+ sprintf(test_name, "%s_bw", test_name);
+- no_delay = 1;
+- flags |= MSG_DONTWAIT;
+ iterations = 1;
+ transfer_size = size;
+ transfer_count = size_to_count(transfer_size);
+@@ -490,6 +486,10 @@ static int set_test_opt(char *optarg)
+ case 'a':
+ use_async = 1;
+ break;
++ case 'b':
++ flags &= ~MSG_DONTWAIT;
++ no_delay = 0;
++ break;
+ case 'n':
+ flags |= MSG_DONTWAIT;
+ no_delay = 1;
+@@ -505,6 +505,9 @@ static int set_test_opt(char *optarg)
+ use_rs = 0;
+ } else if (!strncasecmp("async", optarg, 5)) {
+ use_async = 1;
++ } else if (!strncasecmp("block", optarg, 5)) {
++ flags &= ~MSG_DONTWAIT;
++ no_delay = 0;
+ } else if (!strncasecmp("nonblock", optarg, 8)) {
+ flags |= MSG_DONTWAIT;
+ no_delay = 1;
+@@ -559,6 +562,7 @@ int main(int argc, char **argv)
+ printf("\t[-T test_option]\n");
+ printf("\t s|sockets - use standard tcp/ip sockets\n");
+ printf("\t a|async - asynchronous operation\n");
++ printf("\t b|blocking - use blocking calls\n");
+ printf("\t n|nonblocking - use nonblocking calls\n");
+ printf("\t v|verify - verify data\n");
+ exit(1);
+diff --git a/man/rstream.1 b/man/rstream.1
+index 701db3a..58bd7e3 100644
+--- a/man/rstream.1
++++ b/man/rstream.1
+@@ -42,6 +42,8 @@ s | socket - uses standard socket calls to transfer data
+ .P
+ a | async - uses asynchronous operation (e.g. select / poll)
+ .P
++b | blocking - uses blocking calls
++.P
+ n | nonblocking - uses non-blocking calls
+ .P
+ v | verify - verifies data transfers
+++ /dev/null
-Bottom: ea75b8334003947a7f09ba5f0efcec267b5143c1
-Top: 1e3526d39b2591bb10a08bfed2622f05f82b1bd8
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-05-11 10:33:13 -0700
-
-librdmacm/rstream: Set rsocket nonblocking for base tests
-
-The base set of rstream tests want nonblocking rsockets, but don't
-actually set the rsocket to nonblocking. It instead relies on the
-MSG_DONTWAIT flag. Make the code match the expected behavior and
-set the rsocket to nonblocking and make nonblocking the default.
-
-Provide a test option to switch it back to blocking mode. We keep
-the existing nonblocking test option for compatibility.
-
-Signed-off-by: Sean Hefty <sean.hefty@intel.com>
-
-
----
-
-diff --git a/examples/rstream.c b/examples/rstream.c
-index 8aa089d..7f39b29 100644
---- a/examples/rstream.c
-+++ b/examples/rstream.c
-@@ -56,8 +56,8 @@ static int test_size[] = {
- static int use_rs = 1;
- static int use_async;
- static int verify;
--static int flags;
--static int no_delay;
-+static int flags = MSG_DONTWAIT;
-+static int no_delay = 1;
- static int custom;
- static int iterations = 1;
- static int transfer_size = 1000;
-@@ -151,8 +151,6 @@ static void init_latency_test(int size)
- {
- size_str(test_name, size);
- sprintf(test_name, "%s_lat", test_name);
-- no_delay = 1;
-- flags |= MSG_DONTWAIT;
- transfer_count = 1;
- transfer_size = size;
- iterations = size_to_count(transfer_size);
-@@ -162,8 +160,6 @@ static void init_bandwidth_test(int size)
- {
- size_str(test_name, size);
- sprintf(test_name, "%s_bw", test_name);
-- no_delay = 1;
-- flags |= MSG_DONTWAIT;
- iterations = 1;
- transfer_size = size;
- transfer_count = size_to_count(transfer_size);
-@@ -490,6 +486,10 @@ static int set_test_opt(char *optarg)
- case 'a':
- use_async = 1;
- break;
-+ case 'b':
-+ flags &= ~MSG_DONTWAIT;
-+ no_delay = 0;
-+ break;
- case 'n':
- flags |= MSG_DONTWAIT;
- no_delay = 1;
-@@ -505,6 +505,9 @@ static int set_test_opt(char *optarg)
- use_rs = 0;
- } else if (!strncasecmp("async", optarg, 5)) {
- use_async = 1;
-+ } else if (!strncasecmp("block", optarg, 5)) {
-+ flags &= ~MSG_DONTWAIT;
-+ no_delay = 0;
- } else if (!strncasecmp("nonblock", optarg, 8)) {
- flags |= MSG_DONTWAIT;
- no_delay = 1;
-@@ -559,6 +562,7 @@ int main(int argc, char **argv)
- printf("\t[-T test_option]\n");
- printf("\t s|sockets - use standard tcp/ip sockets\n");
- printf("\t a|async - asynchronous operation\n");
-+ printf("\t b|blocking - use blocking calls\n");
- printf("\t n|nonblocking - use nonblocking calls\n");
- printf("\t v|verify - verify data\n");
- exit(1);
-diff --git a/man/rstream.1 b/man/rstream.1
-index 701db3a..58bd7e3 100644
---- a/man/rstream.1
-+++ b/man/rstream.1
-@@ -42,6 +42,8 @@ s | socket - uses standard socket calls to transfer data
- .P
- a | async - uses asynchronous operation (e.g. select / poll)
- .P
-+b | blocking - uses blocking calls
-+.P
- n | nonblocking - uses non-blocking calls
- .P
- v | verify - verifies data transfers