double bytes, warmup_bytes;
int line;
int done;
- double max_latency;
- struct timeval starttime;
} *children;
-void nbio_time_reset(void)
-{
- children[nbio_id].starttime = timeval_current();
-}
-
-void nbio_time_delay(double targett)
-{
- double elapsed = timeval_elapsed(&children[nbio_id].starttime);
- if (targett > elapsed) {
- msleep(1000*(targett - elapsed));
- } else if (elapsed - targett > children[nbio_id].max_latency) {
- children[nbio_id].max_latency = elapsed - targett;
- }
-}
-
double nbio_result(void)
{
int i;
return 1.0e-6 * total / timeval_elapsed2(&tv_start, &tv_end);
}
-double nbio_latency(void)
-{
- int i;
- double max_latency = 0;
- for (i=0;i<nprocs;i++) {
- if (children[i].max_latency > max_latency) {
- max_latency = children[i].max_latency;
- children[i].max_latency = 0;
- }
- }
- return max_latency;
-}
-
BOOL nb_tick(void)
{
return children[nbio_id].done;
nprocs, lines/nprocs,
nbio_result(), t);
} else {
- printf("%4d %8d %.2f MB/sec execute %.0f sec latency %.2f msec \n",
+ printf("%4d %8d %.2f MB/sec execute %.0f sec \n",
nprocs, lines/nprocs,
- nbio_result(), t, nbio_latency() * 1.0e3);
+ nbio_result(), t);
}
fflush(stdout);
io.readx.in.remaining = 0;
io.readx.in.read_for_execute = False;
io.readx.out.data = buf;
-
+
ret = smb_raw_read(c->tree, &io);
free(buf);