Commit f4be8433 authored by Jiang Liu's avatar Jiang Liu Committed by Catalin Marinas

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: default avatarSteven Rostedt <rostedt@goodmis.org>
Acked-by: default avatarJason Baron <jbaron@akamai.com>
Signed-off-by: default avatarJiang Liu <liuj97@gmail.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 9732cafd
...@@ -81,18 +81,21 @@ struct module; ...@@ -81,18 +81,21 @@ struct module;
#include <linux/atomic.h> #include <linux/atomic.h>
#ifdef HAVE_JUMP_LABEL #ifdef HAVE_JUMP_LABEL
#define JUMP_LABEL_TRUE_BRANCH 1UL #define JUMP_LABEL_TYPE_FALSE_BRANCH 0UL
#define JUMP_LABEL_TYPE_TRUE_BRANCH 1UL
#define JUMP_LABEL_TYPE_MASK 1UL
static static
inline struct jump_entry *jump_label_get_entries(struct static_key *key) inline struct jump_entry *jump_label_get_entries(struct static_key *key)
{ {
return (struct jump_entry *)((unsigned long)key->entries return (struct jump_entry *)((unsigned long)key->entries
& ~JUMP_LABEL_TRUE_BRANCH); & ~JUMP_LABEL_TYPE_MASK);
} }
static inline bool jump_label_get_branch_default(struct static_key *key) static inline bool jump_label_get_branch_default(struct static_key *key)
{ {
if ((unsigned long)key->entries & JUMP_LABEL_TRUE_BRANCH) if (((unsigned long)key->entries & JUMP_LABEL_TYPE_MASK) ==
JUMP_LABEL_TYPE_TRUE_BRANCH)
return true; return true;
return false; return false;
} }
...@@ -122,10 +125,12 @@ extern void static_key_slow_inc(struct static_key *key); ...@@ -122,10 +125,12 @@ extern void static_key_slow_inc(struct static_key *key);
extern void static_key_slow_dec(struct static_key *key); extern void static_key_slow_dec(struct static_key *key);
extern void jump_label_apply_nops(struct module *mod); extern void jump_label_apply_nops(struct module *mod);
#define STATIC_KEY_INIT_TRUE ((struct static_key) \ #define STATIC_KEY_INIT_TRUE ((struct static_key) \
{ .enabled = ATOMIC_INIT(1), .entries = (void *)1 }) { .enabled = ATOMIC_INIT(1), \
#define STATIC_KEY_INIT_FALSE ((struct static_key) \ .entries = (void *)JUMP_LABEL_TYPE_TRUE_BRANCH })
{ .enabled = ATOMIC_INIT(0), .entries = (void *)0 }) #define STATIC_KEY_INIT_FALSE ((struct static_key) \
{ .enabled = ATOMIC_INIT(0), \
.entries = (void *)JUMP_LABEL_TYPE_FALSE_BRANCH })
#else /* !HAVE_JUMP_LABEL */ #else /* !HAVE_JUMP_LABEL */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment