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 | ||
