iolog: switch to list based scheme
authorJens Axboe <axboe@fb.com>
Thu, 19 May 2016 15:20:16 +0000 (09:20 -0600)
committerJens Axboe <axboe@fb.com>
Thu, 19 May 2016 15:20:16 +0000 (09:20 -0600)
commit7e419452839dee5afa86b0a6c78136c421e1d706
tree97262cb965f36e568d8b5fe83d24d73efe0ffbeb
parenta507505d00ce6cf9e5e91f27ec0bbfe52754c9dc
iolog: switch to list based scheme

The previous iolog implementation had one big log, that we continually
resized when we ran out of space. The resize involved a realloc()
of the data, which could potentially be slow for big logs. This could
introduce long latency outliers for workloads, since fio did not
quiesce IO before resizing the log.

Rewrite the logging code to have a list of logs, and cap each of them
at a reasonable size. This means we never have to realloc data, and
that we allocate smaller chunks instead.

Signed-off-by: Jens Axboe <axboe@fb.com>
iolog.c
iolog.h
server.c
stat.c