From 4c65252124d061b1416c3b93f5a906f1522c8886 Mon Sep 17 00:00:00 2001 From: Phil Carns Date: Tue, 11 Dec 2018 16:58:13 -0500 Subject: [PATCH] only print usage info on rank 0 --- perf-regression/margo-p2p-bw.c | 49 +++++++++++++--------------------- 1 file changed, 19 insertions(+), 30 deletions(-) diff --git a/perf-regression/margo-p2p-bw.c b/perf-regression/margo-p2p-bw.c index 6c8e3df..6bb0e81 100644 --- a/perf-regression/margo-p2p-bw.c +++ b/perf-regression/margo-p2p-bw.c @@ -41,7 +41,7 @@ struct options #define BW_TOTAL_MEM_SIZE 2147483648UL -static void parse_args(int argc, char **argv, struct options *opts); +static int parse_args(int argc, char **argv, struct options *opts); static void usage(void); MERCURY_GEN_PROC(bw_rpc_in_t, @@ -122,7 +122,13 @@ int main(int argc, char **argv) printf("Process %d of %d is on %s\n", rank, nranks, processor_name); - parse_args(argc, argv, &g_opts); + ret = parse_args(argc, argv, &g_opts); + if(ret < 0) + { + if(rank == 0) + usage(); + exit(EXIT_FAILURE); + } /* allocate one big buffer for rdma transfers */ g_buffer = calloc(g_buffer_size, 1); @@ -318,7 +324,7 @@ int main(int argc, char **argv) return 0; } -static void parse_args(int argc, char **argv, struct options *opts) +static int parse_args(int argc, char **argv, struct options *opts) { int opt; int ret; @@ -340,70 +346,53 @@ static void parse_args(int argc, char **argv, struct options *opts) if(!opts->diag_file_name) { perror("strdup"); - exit(EXIT_FAILURE); + return(-1); } break; case 'x': ret = sscanf(optarg, "%d", &opts->xfer_size); if(ret != 1) - { - usage(); - exit(EXIT_FAILURE); - } + return(-1); break; case 'c': ret = sscanf(optarg, "%d", &opts->concurrency); if(ret != 1) - { - usage(); - exit(EXIT_FAILURE); - } + return(-1); break; case 'T': ret = sscanf(optarg, "%d", &opts->threads); if(ret != 1) - { - usage(); - exit(EXIT_FAILURE); - } + return(-1); break; case 'D': ret = sscanf(optarg, "%d", &opts->duration_seconds); if(ret != 1) - { - usage(); - exit(EXIT_FAILURE); - } + return(-1); break; case 't': ret = sscanf(optarg, "%u,%u", &opts->mercury_timeout_client, &opts->mercury_timeout_server); if(ret != 2) - { - usage(); - exit(EXIT_FAILURE); - } + return(-1); break; case 'n': opts->na_transport = strdup(optarg); if(!opts->na_transport) { perror("strdup"); - exit(EXIT_FAILURE); + return(-1); } break; default: - usage(); - exit(EXIT_FAILURE); + return(-1); } } if(opts->xfer_size < 1 || opts->concurrency < 1 || opts->duration_seconds < 1 || !opts->na_transport) { - usage(); - exit(EXIT_FAILURE); + return(-1); } - return; + return(0); } static void usage(void) -- 2.26.2