summaryrefslogtreecommitdiffstats
path: root/src/types.h
diff options
context:
space:
mode:
authorSimon Rettberg2018-06-25 16:09:15 +0200
committerSimon Rettberg2018-06-25 16:09:15 +0200
commitc73deeb2903831b63025f9d2f38dc01e93346d1e (patch)
tree7717940567465232ea7e9a19b0ab577983ac2e6b /src/types.h
parent[SERVER] Try to re-open cacheFd if writing fails (diff)
downloaddnbd3-c73deeb2903831b63025f9d2f38dc01e93346d1e.tar.gz
dnbd3-c73deeb2903831b63025f9d2f38dc01e93346d1e.tar.xz
dnbd3-c73deeb2903831b63025f9d2f38dc01e93346d1e.zip
[SERVER] Use likely/unlikely in uplink disk writing loop
Diffstat (limited to 'src/types.h')
-rw-r--r--src/types.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/types.h b/src/types.h
index fd7bd21..86b3469 100644
--- a/src/types.h
+++ b/src/types.h
@@ -40,6 +40,14 @@
#error "Please add define for your compiler for UNUSED, or define to nothing for your compiler if not supported"
#endif
+#if defined(__GNUC__) && __GNUC__ >= 3
+#define likely(x) __builtin_expect(!!(x), 1)
+#define unlikely(x) __builtin_expect(!!(x), 0)
+#else
+#define likely(x) (x)
+#define unlikely(x) (x)
+#endif
+
#ifdef __linux__
#define HAVE_THREAD_NAMES
#define HAVE_FDATASYNC