From 6854710d6d2e543b7593e9170bfd4e19aca8c859 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Thu, 15 Dec 2016 13:01:08 -0700 Subject: [PATCH] likely.h: fix spdk_likely condition The __builtin_expect(), as written before, would have generated the right branch taken/not taken condition, but the return value was the opposite of the cond value. We need to double-not the value to convert it to a 0/1 value while preserving its original 0/non-zero sense. Change-Id: I38101ff3ed8e89fc6516cfcdf7d642651545e4ff Signed-off-by: Daniel Verkamp --- include/spdk/likely.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/spdk/likely.h b/include/spdk/likely.h index e6e0067be..4006b6c88 100644 --- a/include/spdk/likely.h +++ b/include/spdk/likely.h @@ -39,6 +39,6 @@ #define SPDK_LIKELY_H #define spdk_unlikely(cond) __builtin_expect((cond), 0) -#define spdk_likely(cond) __builtin_expect(!(cond), 0) +#define spdk_likely(cond) __builtin_expect(!!(cond), 1) #endif