diff options
Diffstat (limited to 'include/linux/compiler.h')
| -rw-r--r-- | include/linux/compiler.h | 24 | 
1 files changed, 5 insertions, 19 deletions
| diff --git a/include/linux/compiler.h b/include/linux/compiler.h index c25e525121f0..0628a2013fae 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@ -77,32 +77,18 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);  #define likely_notrace(x)	__builtin_expect(!!(x), 1)  #define unlikely_notrace(x)	__builtin_expect(!!(x), 0) -#define likely_check(x) ({						\ +#define __branch_check__(x, expect) ({					\  			int ______r;					\  			static struct ftrace_branch_data		\  				__attribute__((__aligned__(4)))		\ -				__attribute__((section("_ftrace_likely"))) \ +				__attribute__((section("_ftrace_annotated_branch"))) \  				______f = {				\  				.func = __func__,			\  				.file = __FILE__,			\  				.line = __LINE__,			\  			};						\  			______r = likely_notrace(x);			\ -			ftrace_likely_update(&______f, ______r, 1);	\ -			______r;					\ -		}) -#define unlikely_check(x) ({						\ -			int ______r;					\ -			static struct ftrace_branch_data		\ -				__attribute__((__aligned__(4)))		\ -				__attribute__((section("_ftrace_unlikely"))) \ -				______f = {				\ -				.func = __func__,			\ -				.file = __FILE__,			\ -				.line = __LINE__,			\ -			};						\ -			______r = unlikely_notrace(x);			\ -			ftrace_likely_update(&______f, ______r, 0);	\ +			ftrace_likely_update(&______f, ______r, expect); \  			______r;					\  		}) @@ -112,10 +98,10 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);   * written by Daniel Walker.   */  # ifndef likely -#  define likely(x)	(__builtin_constant_p(x) ? !!(x) : likely_check(x)) +#  define likely(x)	(__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 1))  # endif  # ifndef unlikely -#  define unlikely(x)	(__builtin_constant_p(x) ? !!(x) : unlikely_check(x)) +#  define unlikely(x)	(__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 0))  # endif  #else  # define likely(x)	__builtin_expect(!!(x), 1) | 
