X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=debug.h;h=51b18de235444244369bdf5d446234f857b3007b;hp=923fa39958037c3d0aa549e9a6def4b3a9c09756;hb=4806b82473fea74c517e5e0c7665b0ca0542b3ec;hpb=0c56718d787c5846db7e75d5a01b88342797c681 diff --git a/debug.h b/debug.h index 923fa399..51b18de2 100644 --- a/debug.h +++ b/debug.h @@ -1,8 +1,7 @@ #ifndef FIO_DEBUG_H #define FIO_DEBUG_H -#include -#include "log.h" +#include "lib/types.h" enum { FD_PROCESS = 0, @@ -21,10 +20,31 @@ enum { FD_NET, FD_RATE, FD_COMPRESS, + FD_STEADYSTATE, + FD_HELPERTHREAD, + FD_ZBD, FD_DEBUG_MAX, }; -extern unsigned int fio_debug_jobno, *fio_debug_jobp; +extern unsigned int fio_debug_jobno, *fio_debug_jobp, *fio_warned; + +static inline bool fio_did_warn(unsigned int mask) +{ + if (*fio_warned & mask) + return true; + + *fio_warned |= mask; + return false; +} + +enum { + FIO_WARN_ROOT_FLUSH = 1, + FIO_WARN_VERIFY_BUF = 2, + FIO_WARN_ZONED_BUG = 4, + FIO_WARN_IOLOG_DROP = 8, + FIO_WARN_FADVISE = 16, + FIO_WARN_BTRACE_ZERO = 32, +}; #ifdef FIO_INC_DEBUG struct debug_level { @@ -33,7 +53,7 @@ struct debug_level { unsigned long shift; unsigned int jobno; }; -extern struct debug_level debug_levels[]; +extern const struct debug_level debug_levels[]; extern unsigned long fio_debug; @@ -41,7 +61,7 @@ void __dprint(int type, const char *str, ...) __attribute__((format (printf, 2, #define dprint(type, str, args...) \ do { \ - if ((((1 << type)) & fio_debug) == 0) \ + if (((1 << type) & fio_debug) == 0) \ break; \ __dprint((type), (str), ##args); \ } while (0) \