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>
diff --git a/debug.h b/debug.h
index 891c254..e51d8b2 100644
--- a/debug.h
+++ b/debug.h
@@ -32,24 +32,20 @@
 
 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