]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
Refresh of rs-fulltest
authorSean Hefty <sean.hefty@intel.com>
Thu, 17 May 2012 17:38:53 +0000 (10:38 -0700)
committerSean Hefty <sean.hefty@intel.com>
Thu, 17 May 2012 17:38:53 +0000 (10:38 -0700)
examples/rstream.c

index ec9b4ff3847afa622ee0bcc13c15353c7eea2c58..3e6d8d584237c6b2251e212cf0469a0c79b37299 100644 (file)
 #include <rdma/rdma_cma.h>
 #include <rdma/rsocket.h>
 
-static int test_size[] = {
-       64,
-       4096,
-       65536,
-       1048576
+struct test_size_param {
+       int size;
+       int option;
+};
+
+static struct test_size_param test_size[] = {
+       { 1 <<  6, 0 },
+       { 1 <<  7, 1 }, { 1 <<  7 + 1 <<  6, 1},
+       { 1 <<  8, 1 }, { 1 <<  8 + 1 <<  7, 1},
+       { 1 <<  9, 1 }, { 1 <<  9 + 1 <<  8, 1},
+       { 1 << 10, 1 }, { 1 << 10 + 1 <<  9, 1},
+       { 1 << 11, 1 }, { 1 << 11 + 1 << 10, 1},
+       { 1 << 12, 0 }, { 1 << 12 + 1 << 11, 1},
+       { 1 << 13, 1 }, { 1 << 13 + 1 << 12, 1},
+       { 1 << 14, 1 }, { 1 << 14 + 1 << 13, 1},
+       { 1 << 15, 1 }, { 1 << 15 + 1 << 14, 1},
+       { 1 << 16, 0 }, { 1 << 16 + 1 << 15, 1},
+       { 1 << 17, 1 }, { 1 << 17 + 1 << 16, 1},
+       { 1 << 18, 1 }, { 1 << 18 + 1 << 17, 1},
+       { 1 << 19, 1 }, { 1 << 19 + 1 << 18, 1},
+       { 1 << 20, 0 }, { 1 << 20 + 1 << 19, 1},
+       { 1 << 21, 1 }, { 1 << 21 + 1 << 20, 1},
+       { 1 << 22, 1 }, { 1 << 22 + 1 << 21, 1},
 };
 #define TEST_CNT (sizeof test_size / sizeof test_size[0])
 
@@ -59,6 +77,7 @@ static int verify;
 static int flags = MSG_DONTWAIT;
 static int poll_timeout = 0;
 static int custom;
+static int size_option;
 static int iterations = 1;
 static int transfer_size = 1000;
 static int transfer_count = 1000;
@@ -457,7 +476,7 @@ static int run(void)
 {
        int i, rs, ret = 0;
 
-       buf = malloc(!custom ? test_size[TEST_CNT - 1] : transfer_size);
+       buf = malloc(!custom ? test_size[TEST_CNT - 1].size : transfer_size);
        if (!buf) {
                perror("malloc");
                return -1;
@@ -472,11 +491,15 @@ static int run(void)
        printf("name \tbytes \txfers \titers \ttotal \ttime \tGb/sec \tusec/xfer\n");
        if (!custom) {
                for (i = 0; i < TEST_CNT; i++) {
-                       init_latency_test(test_size[i]);
+                       if (test_size[i] > size_option)
+                               continue;
+                       init_latency_test(test_size[i].size);
                        run_test(rs);
                }
                for (i = 0; i < TEST_CNT; i++) {
-                       init_bandwidth_test(test_size[i]);
+                       if (test_size[i] > size_option)
+                               continue;
+                       init_bandwidth_test(test_size[i].size);
                        run_test(rs);
                }
        } else {
@@ -551,8 +574,12 @@ int main(int argc, char **argv)
                        transfer_count = atoi(optarg);
                        break;
                case 'S':
-                       custom = 1;
-                       transfer_size = atoi(optarg);
+                       if (strncasecmp("all", optarg, 3) {
+                               size_option = 1;
+                       } else {
+                               custom = 1;
+                               transfer_size = atoi(optarg);
+                       }
                        break;
                case 'p':
                        port = optarg;
@@ -567,7 +594,7 @@ int main(int argc, char **argv)
                        printf("\t[-b bind_address]\n");
                        printf("\t[-I iterations]\n");
                        printf("\t[-C transfer_count]\n");
-                       printf("\t[-S transfer_size]\n");
+                       printf("\t[-S transfer_size or all]\n");
                        printf("\t[-p port_number]\n");
                        printf("\t[-T test_option]\n");
                        printf("\t    s|sockets - use standard tcp/ip sockets\n");