diff options
author | simonb <simonb@pkgsrc.org> | 2006-05-12 03:07:14 +0000 |
---|---|---|
committer | simonb <simonb@pkgsrc.org> | 2006-05-12 03:07:14 +0000 |
commit | b60640da6f9d6df2248680a2e84c6fce907df683 (patch) | |
tree | 7405dd52ec75152fdfe213d77546746eb088baaa /benchmarks/nttcp/patches | |
parent | ab76904b874f006cabc6d62f4827ee624ca6c6fd (diff) | |
download | pkgsrc-b60640da6f9d6df2248680a2e84c6fce907df683.tar.gz |
Add a new -U option, to run for a given time instead of for a given
number of buffers.
Bump PKGREVISION.
Not feed upsteam as author seems to have disappeared :(
Diffstat (limited to 'benchmarks/nttcp/patches')
-rw-r--r-- | benchmarks/nttcp/patches/patch-ab | 109 | ||||
-rw-r--r-- | benchmarks/nttcp/patches/patch-ad | 14 |
2 files changed, 119 insertions, 4 deletions
diff --git a/benchmarks/nttcp/patches/patch-ab b/benchmarks/nttcp/patches/patch-ab index 148ef585d7e..902996fd808 100644 --- a/benchmarks/nttcp/patches/patch-ab +++ b/benchmarks/nttcp/patches/patch-ab @@ -1,13 +1,114 @@ -$NetBSD: patch-ab,v 1.2 2004/05/05 00:46:45 danw Exp $ +$NetBSD: patch-ab,v 1.3 2006/05/12 03:07:14 simonb Exp $ ---- nttcp.c.orig Mon Dec 18 21:16:54 2000 +--- nttcp.c.orig 2000-12-18 21:16:54.000000000 +1100 +++ nttcp.c -@@ -136,7 +136,7 @@ +@@ -136,9 +136,9 @@ void syslog(int priority, const char *me #endif /* aix */ /*====================================================================*/ -#if defined(FreeBSD) +#ifndef SIGCLD #define SIGCLD SIGCHLD - #endif /*FreeBSD*/ +-#endif /*FreeBSD*/ ++#endif /*SIGCLD*/ + /*====================================================================*/ + #if defined(BSD42) +@@ -268,6 +268,7 @@ Usage: nttcp [local options] host [remot + \t-n# number of source bufs written to network (default 2048)\n\ + \t-u use UDP instead of TCP\n\ + \t-g#us gap in micro seconds between UDP packets (default 0s)\n\ ++\t-U# run until a number of seconds have elapsed\n\ + \t-d set SO_DEBUG in sockopt\n\ + \t-D don't buffer TCP writes (sets TCP_NODELAY socket option)\n\ + \t-w# set the send buffer space to #kilobytes, which is\n\ +@@ -346,6 +347,7 @@ typedef struct { + int FixedDataSize; /* if>0: calc BufCnt/BufLen from this */ + int Window, SndWin, RcvWin; /* TCP window sizes */ + int Verbose; /* ==1: more diagnostics */ ++ int RunTime; /* approximate runtime in seconds */ + char *MulticastChannel; /* we send multicast traffic */ + short MulticastPort; + int GapLength; /* Gap length between packets */ +@@ -496,6 +498,13 @@ void StartTimer() { + SysCalls=0; + } + ++int CheckTimer() { ++ TimeVal now; ++ ++ gettimeofday(&now, (struct timezone *)0); ++ return opt.RunTime < (now.tv_sec - time0.tv_sec); ++} ++ + void StopTimer(double *cput, double *realt) { + /* delivers in cput: the amount of cpu time in seconds + * in realt: the real time in seconds +@@ -878,6 +887,7 @@ void InitOptions(Options *opt) { + opt->Verbose=0; /* ==1: more diagnostics */ + opt->GapLength=0; /* no delay, send as fast as possible */ + opt->inetd= 0; /* ==1: run in inetd mode */ ++ opt->RunTime = 0; /* run effectively forever (ie BufCnt is limiting factor) */ + opt->Service= GetService(); /* the service-port to listen to */ + opt->MulticastChannel= NULL; + opt->MulticastPort= 0; +@@ -1013,6 +1023,10 @@ void ParseOptions(int *ac, char **av[], + #endif /*MULTICAST*/ + break; + } ++ case 'U': ++ GetSizeValue(&argc, &argv, &opt->RunTime, 1000000000, ++ "runtime"); ++ break; + default: { + strcpy(MsgBuf, "unknown option: "); + strncat(MsgBuf, argv[0], sizeof(MsgBuf)-strlen(MsgBuf)-1); +@@ -1427,6 +1441,10 @@ int main(int argc, char *argv[]) { + sprintf(OptBuf, "-g%d", opt.GapLength); + StrVecAppend(RemOpt, OptBuf); + } ++ if (opt.RunTime > 0) { ++ sprintf(OptBuf, "-U%d", opt.RunTime); ++ StrVecAppend(RemOpt, OptBuf); ++ } + if (opt.MulticastChannel) { + sprintf(OptBuf, "-m%s:%d", + opt.MulticastChannel, opt.MulticastPort); +@@ -1781,9 +1799,17 @@ int main(int argc, char *argv[]) { + else + Pattern(buf, opt.BufLen); + StartTimer(); +- while (n-- && Nwrite(fd, buf, opt.BufLen) == opt.BufLen) { ++ while (Nwrite(fd, buf, opt.BufLen) == opt.BufLen) { + nBytes+= opt.BufLen; + nBuffer++; ++ if (opt.RunTime == 0) { ++ if (--n == 0) ++ break; ++ } else { ++ /* XXX: tune how often to check if timer has expired? */ ++ if ((nBuffer % 100 == 0) && CheckTimer()) ++ break; ++ } + } + StopTimer(&cput, &realt); + opt.GapLength= 0; +@@ -1797,9 +1823,17 @@ int main(int argc, char *argv[]) { + nBytes= 0; + nBuffer= 0; + StartTimer(); +- while (n-- && Nwrite(fd, buf, opt.BufLen) == opt.BufLen) { ++ while (Nwrite(fd, buf, opt.BufLen) == opt.BufLen) { + nBytes+= opt.BufLen; + nBuffer++; ++ if (opt.RunTime == 0) { ++ if (--n == 0) ++ break; ++ } else { ++ /* XXX: tune how often to check if timer has expired? */ ++ if ((nBuffer % 100 == 0) && CheckTimer()) ++ break; ++ } + } + StopTimer(&cput, &realt); + } diff --git a/benchmarks/nttcp/patches/patch-ad b/benchmarks/nttcp/patches/patch-ad new file mode 100644 index 00000000000..0859c16299b --- /dev/null +++ b/benchmarks/nttcp/patches/patch-ad @@ -0,0 +1,14 @@ +$NetBSD: patch-ad,v 1.1 2006/05/12 03:07:14 simonb Exp $ + +--- nttcp.1.orig 2000-08-16 20:20:45.000000000 +1000 ++++ nttcp.1 +@@ -109,6 +109,9 @@ given fixed length. + Defines the buffer size of the transmitting and receiving socket. + This is system dependant; usally it is 16K. + .TP ++.BI "\-U " "number of seconds" ++Run until approximately the given number of seconds have passed. ++.TP + .B "\-c " + If this option is present, the receiving side will compare the + bytes received with the pattern used by the sending side. At |