mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
Use unlikely() in BUG_ON()/WARN_ON()
-fno-reorder-blocks was added in c/s 1712, when x86-64 just started to become enabled. The reason it got added is entirely unclear to me, and it prevents the intended effect of unlikely() constructs (in particular the ones added here) of moving out of line code which is expected to never get executed, as well as using forward branches (which are statically predicted taken by various processors' branch prediction units) preferably to reach infrequently executed code. Signed-off-by: Jan Beulich <jbeulich@novell.com>
This commit is contained in:
1 parent
3f64466b4b
commit
ed25dad906
2 files changed
+3
-3
No files matched your search
@@ -42,7 +42,7 @@ x86_64 := n
|
||||
endif
|
||||
|
||||
ifeq ($(TARGET_SUBARCH),x86_64)
|
||||
CFLAGS += -mno-red-zone -fpic -fno-reorder-blocks
|
||||
CFLAGS += -mno-red-zone -fpic
|
||||
CFLAGS += -fno-asynchronous-unwind-tables
|
||||
# -fvisibility=hidden reduces -fpic cost, if it's available
|
||||
ifneq ($(call cc-option,$(CC),-fvisibility=hidden,n),n)
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
void __bug(char *file, int line) __attribute__((noreturn));
|
||||
void __warn(char *file, int line);
|
||||
|
||||
#define BUG_ON(p) do { if (p) BUG(); } while (0)
|
||||
#define WARN_ON(p) do { if (p) WARN(); } while (0)
|
||||
#define BUG_ON(p) do { if (unlikely(p)) BUG(); } while (0)
|
||||
#define WARN_ON(p) do { if (unlikely(p)) WARN(); } while (0)
|
||||
|
||||
/* Force a compilation error if condition is true */
|
||||
#define BUILD_BUG_ON(condition) ((void)sizeof(struct { int:-!!(condition); }))
|
||||
|
||||