diff options
author | Jiang Liu <liuj97@gmail.com> | 2014-01-07 09:17:14 -0500 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2014-01-08 10:23:53 -0500 |
commit | f4be8433fc2f2361509e39f17b88c260da52a7cd (patch) | |
tree | 1a9573f56833b0ed606b9ff1236803b306e4ca72 | |
parent | 9732cafd9dc0206479be919baf0067239f0a63ca (diff) |
jump_label: use defined macros instead of hard-coding for better readability
Use macro JUMP_LABEL_TRUE_BRANCH instead of hard-coding for better
readability.
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Jason Baron <jbaron@akamai.com>
Signed-off-by: Jiang Liu <liuj97@gmail.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-rw-r--r-- | include/linux/jump_label.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/include/linux/jump_label.h b/include/linux/jump_label.h index 39999775b922..5c1dfb2a9e73 100644 --- a/include/linux/jump_label.h +++ b/include/linux/jump_label.h | |||
@@ -81,18 +81,21 @@ struct module; | |||
81 | #include <linux/atomic.h> | 81 | #include <linux/atomic.h> |
82 | #ifdef HAVE_JUMP_LABEL | 82 | #ifdef HAVE_JUMP_LABEL |
83 | 83 | ||
84 | #define JUMP_LABEL_TRUE_BRANCH 1UL | 84 | #define JUMP_LABEL_TYPE_FALSE_BRANCH 0UL |
85 | #define JUMP_LABEL_TYPE_TRUE_BRANCH 1UL | ||
86 | #define JUMP_LABEL_TYPE_MASK 1UL | ||
85 | 87 | ||
86 | static | 88 | static |
87 | inline struct jump_entry *jump_label_get_entries(struct static_key *key) | 89 | inline struct jump_entry *jump_label_get_entries(struct static_key *key) |
88 | { | 90 | { |
89 | return (struct jump_entry *)((unsigned long)key->entries | 91 | return (struct jump_entry *)((unsigned long)key->entries |
90 | & ~JUMP_LABEL_TRUE_BRANCH); | 92 | & ~JUMP_LABEL_TYPE_MASK); |
91 | } | 93 | } |
92 | 94 | ||
93 | static inline bool jump_label_get_branch_default(struct static_key *key) | 95 | static inline bool jump_label_get_branch_default(struct static_key *key) |
94 | { | 96 | { |
95 | if ((unsigned long)key->entries & JUMP_LABEL_TRUE_BRANCH) | 97 | if (((unsigned long)key->entries & JUMP_LABEL_TYPE_MASK) == |
98 | JUMP_LABEL_TYPE_TRUE_BRANCH) | ||
96 | return true; | 99 | return true; |
97 | return false; | 100 | return false; |
98 | } | 101 | } |
@@ -122,10 +125,12 @@ extern void static_key_slow_inc(struct static_key *key); | |||
122 | extern void static_key_slow_dec(struct static_key *key); | 125 | extern void static_key_slow_dec(struct static_key *key); |
123 | extern void jump_label_apply_nops(struct module *mod); | 126 | extern void jump_label_apply_nops(struct module *mod); |
124 | 127 | ||
125 | #define STATIC_KEY_INIT_TRUE ((struct static_key) \ | 128 | #define STATIC_KEY_INIT_TRUE ((struct static_key) \ |
126 | { .enabled = ATOMIC_INIT(1), .entries = (void *)1 }) | 129 | { .enabled = ATOMIC_INIT(1), \ |
127 | #define STATIC_KEY_INIT_FALSE ((struct static_key) \ | 130 | .entries = (void *)JUMP_LABEL_TYPE_TRUE_BRANCH }) |
128 | { .enabled = ATOMIC_INIT(0), .entries = (void *)0 }) | 131 | #define STATIC_KEY_INIT_FALSE ((struct static_key) \ |
132 | { .enabled = ATOMIC_INIT(0), \ | ||
133 | .entries = (void *)JUMP_LABEL_TYPE_FALSE_BRANCH }) | ||
129 | 134 | ||
130 | #else /* !HAVE_JUMP_LABEL */ | 135 | #else /* !HAVE_JUMP_LABEL */ |
131 | 136 | ||