summaryrefslogtreecommitdiff
path: root/debug.h
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2010-03-19 16:41:52 +0100
committerJens Axboe <jens.axboe@oracle.com>2010-03-19 16:41:52 +0100
commitbf84eacbfc91a952eb5b781ad2955109c862d41e (patch)
treebf35d7dedeef861e3fa984403c2a45497c58d2c0 /debug.h
parent1dec3e0787755c412b326619d63a24c58e7f4a6b (diff)
downloadfio-bf84eacbfc91a952eb5b781ad2955109c862d41e.tar.gz
fio-bf84eacbfc91a952eb5b781ad2955109c862d41e.tar.bz2
Make the dprint() processing out-of-line
Instead of having the big macro inlined everywhere, only inline the mask check and put the rest out-of-line. This reduces the size of fio with 4% here, and speeds it up. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'debug.h')
-rw-r--r--debug.h26
1 files changed, 11 insertions, 15 deletions
diff --git a/debug.h b/debug.h
index 891c254e..e51d8b20 100644
--- a/debug.h
+++ b/debug.h
@@ -32,24 +32,20 @@ extern struct debug_level debug_levels[];
extern unsigned long fio_debug;
-#define dprint(type, str, args...) \
- do { \
- pid_t __pid; \
- assert(type < FD_DEBUG_MAX); \
- if ((((1 << type)) & fio_debug) == 0) \
- break; \
- __pid = getpid(); \
- if (fio_debug_jobp && *fio_debug_jobp != -1U \
- && __pid != *fio_debug_jobp) \
- break; \
- log_info("%-8s ", debug_levels[(type)].name); \
- log_info("%-5u ", (int) __pid); \
- log_info(str, ##args); \
- } while (0)
+void __dprint(int type, const char *str, ...);
+
+#define dprint(type, str, args...) \
+ do { \
+ if ((((1 << type)) & fio_debug) == 0) \
+ break; \
+ __dprint((type), (str), ##args); \
+ } while (0) \
#else
-#define dprint(type, str, args...)
+static inline void dprint(int type, const char *str, ...)
+{
+}
#endif
#endif