Optimize __get_io_u() for better code foot print
[fio.git] / debug.h
diff --git a/debug.h b/debug.h
index b11a9012eeb2b169f6d1c328603581e53aa5e227..891c254ebcf35e596904577e62f5965b231916f4 100644 (file)
--- a/debug.h
+++ b/debug.h
@@ -13,13 +13,20 @@ enum {
        FD_VERIFY,
        FD_RANDOM,
        FD_PARSE,
+       FD_DISKUTIL,
+       FD_JOB,
+       FD_MUTEX,
+       FD_PROFILE,
        FD_DEBUG_MAX,
 };
 
+extern unsigned int fio_debug_jobno, *fio_debug_jobp;
+
 #ifdef FIO_INC_DEBUG
 struct debug_level {
        const char *name;
        unsigned long shift;
+       unsigned int jobno;
 };
 extern struct debug_level debug_levels[];
 
@@ -27,10 +34,16 @@ 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)