diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-11-03 10:09:48 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:05:23 -0500 |
commit | dde07058075d357cfdc63624c8dcaa67ebd40add (patch) | |
tree | c3f29090e37f1bc103a3d6051e708d1ebbe305a5 /source4/torture/nbench | |
parent | 90a8c4acc7e673e6439197776d19cc4b095ac322 (diff) | |
download | samba-dde07058075d357cfdc63624c8dcaa67ebd40add.tar.gz samba-dde07058075d357cfdc63624c8dcaa67ebd40add.tar.bz2 samba-dde07058075d357cfdc63624c8dcaa67ebd40add.zip |
r3507: - added deferred replies on sharing violation in pvfs open. The
deferred reply is short-circuited immediately when the file is
closed by another user, allowing it to be opened by the waiting user.
- added a sane set of timeval manipulation routines
- converted all the events code and code that uses it to use struct
timeval instead of time_t, which allows for microsecond resolution
instead of 1 second resolution. This was needed for doing the pvfs
deferred open code, and is why the patch is so big.
(This used to be commit 0d51511d408d91eb5f68a35e980e0875299b1831)
Diffstat (limited to 'source4/torture/nbench')
-rw-r--r-- | source4/torture/nbench/nbench.c | 11 | ||||
-rw-r--r-- | source4/torture/nbench/nbio.c | 7 |
2 files changed, 11 insertions, 7 deletions
diff --git a/source4/torture/nbench/nbench.c b/source4/torture/nbench/nbench.c index 0b4bf4bbf1..1c90658f49 100644 --- a/source4/torture/nbench/nbench.c +++ b/source4/torture/nbench/nbench.c @@ -37,6 +37,9 @@ static BOOL run_netbench(struct smbcli_state *cli, int client) fstring params[20]; const char *p; BOOL correct = True; + struct timeval tv; + + tv = timeval_current(); nb_setup(cli, client, warmup); @@ -52,15 +55,15 @@ static BOOL run_netbench(struct smbcli_state *cli, int client) again: while (fgets(line, sizeof(line)-1, f)) { NTSTATUS status; - double t = end_timer(); - if (warmup && t >= warmup) { + if (warmup && + timeval_elapsed(&tv) >= warmup) { warmup = 0; nb_warmup_done(); - start_timer(); + tv = timeval_current(); } - if (end_timer() >= timelimit) { + if (timeval_elapsed(&tv) >= timelimit) { goto done; } diff --git a/source4/torture/nbench/nbio.c b/source4/torture/nbench/nbio.c index 98b1c08c97..98967f2523 100644 --- a/source4/torture/nbench/nbio.c +++ b/source4/torture/nbench/nbio.c @@ -31,6 +31,7 @@ static int nbio_id; static int nprocs; static BOOL bypass_io; static int warmup; +static struct timeval tv; struct ftable { struct ftable *next, *prev; @@ -76,7 +77,7 @@ void nb_alarm(int sig) if (!children[i].done) num_clients++; } - t = end_timer(); + t = timeval_elapsed(&tv); if (warmup) { printf("%4d %8d %.2f MB/sec warmup %.0f sec \n", @@ -91,7 +92,7 @@ void nb_alarm(int sig) } if (warmup && t >= warmup) { - start_timer(); + tv = timeval_current(); warmup = 0; } @@ -156,7 +157,7 @@ void nb_setup(struct smbcli_state *cli, int id, int warmupt) warmup = warmupt; nbio_id = id; c = cli; - start_timer(); + tv = timeval_current(); if (children) { children[nbio_id].done = 0; } |