From: Jeffrey Altman Date: Mon, 8 Nov 2010 16:07:14 +0000 (-0500) Subject: rxperf: use parallel connections X-Git-Tag: upstream/1.8.0_pre1^2~4541 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=df682aa34170d285247c5486050db3ee7d3774f0;p=packages%2Fo%2Fopenafs.git rxperf: use parallel connections When the number of threads exceeds RX_MAXCALLS allocate additional rx connection objects. Change-Id: Ib935b453672e68b88ec816770990070514c48222 Reviewed-on: http://gerrit.openafs.org/3285 Tested-by: BuildBot Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- diff --git a/src/rx/test/rxperf.c b/src/rx/test/rxperf.c index 3ab7b768b..3f4a918f0 100644 --- a/src/rx/test/rxperf.c +++ b/src/rx/test/rxperf.c @@ -832,23 +832,6 @@ do_client(const char *server, short port, char *filename, afs_int32 command, get_sec(0, &secureobj, &secureindex); - conn = rx_NewConnection(addr, htons(port), RX_SERVER_ID, secureobj, secureindex); - if (conn == NULL) - errx(1, "failed to contact server"); - -#ifdef AFS_PTHREAD_ENV - pthread_attr_init(&tattr); - pthread_attr_setdetachstate(&tattr, PTHREAD_CREATE_JOINABLE); -#endif - - params->conn = conn; - params->filename = filename; - params->command = command; - params->times = times; - params->bytes = bytes; - params->sendbytes = sendbytes; - params->readbytes = readbytes; - switch (command) { case RX_PERF_RPC: sprintf(stamp, "RPC: threads\t%d, times\t%d, write bytes\t%d, read bytes\t%d", @@ -868,11 +851,38 @@ do_client(const char *server, short port, char *filename, afs_int32 command, break; } + conn = rx_NewConnection(addr, htons(port), RX_SERVER_ID, secureobj, secureindex); + if (conn == NULL) + errx(1, "failed to contact server"); + +#ifdef AFS_PTHREAD_ENV + pthread_attr_init(&tattr); + pthread_attr_setdetachstate(&tattr, PTHREAD_CREATE_JOINABLE); +#endif + + params->conn = conn; + params->filename = filename; + params->command = command; + params->times = times; + params->bytes = bytes; + params->sendbytes = sendbytes; + params->readbytes = readbytes; + start_timer(); #ifdef AFS_PTHREAD_ENV - for ( i=0; iconn = conn; + params = new_params; + } + } + } #else client_thread(params); #endif