Recent changes (master)
The following changes since commit 9a496382133e8003bd56ab6f3d260c5afadae555:
init: unify 't' time period (2018-07-24 15:23:28 -0600)
are available in the git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to 40e8d8314f10a578765e20a4eb574b2603d292df:
Merge branch 'fio-histo-log-pctiles' of https://github.com/parallel-fs-utils/fio (2018-07-25 14:42:57 -0600)
----------------------------------------------------------------
Ben England (4):
get latency percentiles over time from fio histo logs use interpolation for more accurate percentile calculation switch to argparse module for CLI parsing
design document for tools/hist/fio-histo-log-pctiles.py
Jens Axboe (2):
Merge branch 'fio-c++-engine' of https://github.com/tchaikov/fio
Merge branch 'fio-histo-log-pctiles' of https://github.com/parallel-fs-utils/fio
Kefu Chai (1):
replace typeof with __typeof__
compiler/compiler.h | 4 +- doc/fio-histo-log-pctiles.pdf | Bin 0 -> 182996 bytes flist.h | 4 +- minmax.h | 12 +- oslib/libmtd_common.h | 10 +- tools/hist/fio-histo-log-pctiles.py | 660 ++++++++++++++++++++++++++++++++++++ verify.c | 2 +- 7 files changed, 676 insertions(+), 16 deletions(-) create mode 100644 doc/fio-histo-log-pctiles.pdf create mode 100755 tools/hist/fio-histo-log-pctiles.py
---
Diff of recent changes:
compiler/compiler.h +2 -2
@@ -28,7 +28,7 @@*/ #define typecheck (type,x) \ ({ type __dummy; \ - typeof(x) __dummy2; \ + __typeof__(x) __dummy2; \ (void)(&__dummy == &__dummy2); \ 1; \ })
@@ -70,7 +70,7 @@#ifdef FIO_INTERNAL #define ARRAY_SIZE (x) (sizeof((x)) / (sizeof((x)[0]))) -#define FIELD_SIZE (s, f) (sizeof(((typeof(s))0)->f)) +#define FIELD_SIZE (s, f) (sizeof(((__typeof__(s))0)->f))#endif #endif
doc/fio-histo-log-pctiles.pdf new file binary +0 -0
flist.h +2 -2
@@ -4,8 +4,8 @@#include <stdlib.h> #include <stddef.h> -#define container_of (ptr, type, member) ({ \ - const typeof( ((type *)0)->member ) *__mptr = (ptr); \ +#define container_of (ptr, type, member) ({ \ + const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );})/*
minmax.h +6 -6
@@ -3,23 +3,23 @@#ifndef min#define min (x,y) ({ \ - typeof(x) _x = (x); \ - typeof(y) _y = (y); \ + __typeof__(x) _x = (x); \ + __typeof__(y) _y = (y); \ (void) (&_x == &_y); \ _x < _y ? _x : _y; })#endif #ifndef max#define max (x,y) ({ \ - typeof(x) _x = (x); \ - typeof(y) _y = (y); \ + __typeof__(x) _x = (x); \ + __typeof__(y) _y = (y); \ (void) (&_x == &_y); \ _x > _y ? _x : _y; })#endif #define min_not_zero (x, y) ({ \ - typeof(x) __x = (x); \ - typeof(y) __y = (y); \ + __typeof__(x) __x = (x); \ + __typeof__(y) __y = (y); \ __x == 0 ? __y : ((__y == 0) ? __x : min(__x, __y)); })#endif
oslib/libmtd_common.h +5 -5
@@ -49,18 +49,18 @@ extern "C" {#define min (a, b) MIN(a, b)/* glue for linux kernel source */ #define ARRAY_SIZE (a) (sizeof(a) / sizeof((a)[0])) -#define ALIGN (x,a) __ALIGN_MASK(x,(typeof(x))(a)-1) +#define ALIGN (x,a) __ALIGN_MASK(x,(__typeof__(x))(a)-1)#define __ALIGN_MASK (x,mask) (((x)+(mask))&~(mask))#define min_t (t,x,y) ({ \ - typeof((x)) _x = (x); \ - typeof((y)) _y = (y); \ + __typeof__((x)) _x = (x); \ + __typeof__((y)) _y = (y); \ (_x < _y) ? _x : _y; \ })#define max_t (t,x,y) ({ \ - typeof((x)) _x = (x); \ - typeof((y)) _y = (y); \ + __typeof__((x)) _x = (x); \ + __typeof__((y)) _y = (y); \ (_x > _y) ? _x : _y; \ })
tools/hist/fio-histo-log-pctiles.py new file +660 -0
660 lines not on this page · raw message
verify.c +1 -1
@@ -1517,7 +1517,7 @@ int paste_blockoff(char *buf, unsigned int len, void *priv)struct io_u *io = priv;unsigned long long off; -typecheck (typeof (off), io->offset); +typecheck (__typeof__ (off), io->offset); off =cpu_to_le64 ((uint64_t )io->offset); len =min (len, (unsigned int )sizeof (off));memcpy (buf, &off, len);