From: Jens Axboe Date: Tue, 27 Oct 2015 07:43:44 +0000 (+0900) Subject: Don't setup output buffers we are not going to use X-Git-Tag: fio-2.2.11~13 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=e250c0a967d683e40889cc33ffc4c4003adc8d35 Don't setup output buffers we are not going to use Signed-off-by: Jens Axboe --- diff --git a/lib/output_buffer.c b/lib/output_buffer.c index 145272a0..da708747 100644 --- a/lib/output_buffer.c +++ b/lib/output_buffer.c @@ -7,12 +7,11 @@ #define BUF_INC 1024 -void buf_output_init(struct buf_output *out, int index) +void buf_output_init(struct buf_output *out) { - out->max_buflen = BUF_INC; - out->buf = malloc(out->max_buflen); - memset(out->buf, 0, out->max_buflen); + out->max_buflen = 0; out->buflen = 0; + out->buf = NULL; } void buf_output_free(struct buf_output *out) @@ -23,11 +22,11 @@ void buf_output_free(struct buf_output *out) size_t buf_output_add(struct buf_output *out, const char *buf, size_t len) { while (out->max_buflen - out->buflen < len) { - size_t newlen = out->max_buflen + BUF_INC - out->buflen; + size_t old_max = out->max_buflen; out->max_buflen += BUF_INC; out->buf = realloc(out->buf, out->max_buflen); - memset(&out->buf[out->buflen], 0, newlen); + memset(&out->buf[old_max], 0, BUF_INC); } memcpy(&out->buf[out->buflen], buf, len); diff --git a/lib/output_buffer.h b/lib/output_buffer.h index 0dfc3e25..396002fb 100644 --- a/lib/output_buffer.h +++ b/lib/output_buffer.h @@ -9,7 +9,7 @@ struct buf_output { size_t max_buflen; }; -void buf_output_init(struct buf_output *out, int index); +void buf_output_init(struct buf_output *out); void buf_output_free(struct buf_output *out); size_t buf_output_add(struct buf_output *out, const char *buf, size_t len); size_t buf_output_flush(struct buf_output *out); diff --git a/stat.c b/stat.c index 3d7dcde1..2c218158 100644 --- a/stat.c +++ b/stat.c @@ -1400,8 +1400,6 @@ void __show_run_stats(void) runstats = malloc(sizeof(struct group_run_stats) * (groupid + 1)); - memset(output, 0, sizeof(output)); - for (i = 0; i < groupid + 1; i++) init_group_run_stat(&runstats[i]); @@ -1560,7 +1558,7 @@ void __show_run_stats(void) } for (i = 0; i < FIO_OUTPUT_NR; i++) - buf_output_init(&output[i], i); + buf_output_init(&output[i]); /* * don't overwrite last signal output