We currently do the startup logging in separate chunks. This is
inefficient in terms of network trafic for client/server, and
it also causes output to be potentially mingled together:
<x1> Starting <x1> Starting 1 process1 process
Fix this by logging to a buffer, then transmitting that buffer
in one piece.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
}
if (output_format & FIO_OUTPUT_NORMAL) {
}
if (output_format & FIO_OUTPUT_NORMAL) {
+ struct buf_output out;
+
+ buf_output_init(&out);
+ log_buf(&out, "Starting ");
- log_info("%d thread%s", nr_thread,
+ log_buf(&out, "%d thread%s", nr_thread,
nr_thread > 1 ? "s" : "");
if (nr_process) {
if (nr_thread)
nr_thread > 1 ? "s" : "");
if (nr_process) {
if (nr_thread)
- log_info(" and ");
- log_info("%d process%s", nr_process,
+ log_buf(&out, " and ");
+ log_buf(&out, "%d process%s", nr_process,
nr_process > 1 ? "es" : "");
}
nr_process > 1 ? "es" : "");
}
- log_info("\n");
- log_info_flush();
+ log_buf(&out, "\n");
+ log_info_buf(out.buf, out.buflen);
char *c1, *c2, *c3, *c4;
char *c5 = NULL, *c6 = NULL;
int i2p = is_power_of_2(o->kb_base);
char *c1, *c2, *c3, *c4;
char *c5 = NULL, *c6 = NULL;
int i2p = is_power_of_2(o->kb_base);
c1 = num2str(o->min_bs[DDIR_READ], o->sig_figs, 1, i2p, N2S_BYTE);
c2 = num2str(o->max_bs[DDIR_READ], o->sig_figs, 1, i2p, N2S_BYTE);
c1 = num2str(o->min_bs[DDIR_READ], o->sig_figs, 1, i2p, N2S_BYTE);
c2 = num2str(o->max_bs[DDIR_READ], o->sig_figs, 1, i2p, N2S_BYTE);
c6 = num2str(o->max_bs[DDIR_TRIM], o->sig_figs, 1, i2p, N2S_BYTE);
}
c6 = num2str(o->max_bs[DDIR_TRIM], o->sig_figs, 1, i2p, N2S_BYTE);
}
- log_info("%s: (g=%d): rw=%s, ", td->o.name,
+ buf_output_init(&out);
+ log_buf(&out, "%s: (g=%d): rw=%s, ", td->o.name,
td->groupid,
ddir_str(o->td_ddir));
if (o->bs_is_seq_rand)
td->groupid,
ddir_str(o->td_ddir));
if (o->bs_is_seq_rand)
- log_info("bs=(R) %s-%s, (W) %s-%s, bs_is_seq_rand, ",
+ log_buf(&out, "bs=(R) %s-%s, (W) %s-%s, bs_is_seq_rand, ",
- log_info("bs=(R) %s-%s, (W) %s-%s, (T) %s-%s, ",
+ log_buf(&out, "bs=(R) %s-%s, (W) %s-%s, (T) %s-%s, ",
- log_info("ioengine=%s, iodepth=%u\n",
+ log_buf(&out, "ioengine=%s, iodepth=%u\n",
td->io_ops->name, o->iodepth);
td->io_ops->name, o->iodepth);
+ log_info_buf(out.buf, out.buflen);