diff options
author | Kevin Hao <haokexin@gmail.com> | 2016-07-23 05:12:37 -0400 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-07-31 21:15:01 -0400 |
commit | e3f91083facb792dc8d8fd0a59639e4d6e7c0c8f (patch) | |
tree | c8afe09d68a86f86bb04946d7d822af5f3bed121 | |
parent | b8f1b4f8606b40b478072fb551f79e2984d44fad (diff) |
jump_label: Make it possible for arches to invoke jump_label_init() earlier
Some arches (powerpc at least) would like to invoke jump_label_init()
much earlier in boot. So check static_key_initialized in order to make
sure this function runs only once.
LGTM-by: Ingo (http://marc.info/?l=linux-kernel&m=144049104329961&w=2)
Signed-off-by: Kevin Hao <haokexin@gmail.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r-- | kernel/jump_label.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/jump_label.c b/kernel/jump_label.c index 0dbea887d625..2d693be967df 100644 --- a/kernel/jump_label.c +++ b/kernel/jump_label.c | |||
@@ -235,6 +235,9 @@ void __init jump_label_init(void) | |||
235 | struct static_key *key = NULL; | 235 | struct static_key *key = NULL; |
236 | struct jump_entry *iter; | 236 | struct jump_entry *iter; |
237 | 237 | ||
238 | if (static_key_initialized) | ||
239 | return; | ||
240 | |||
238 | jump_label_lock(); | 241 | jump_label_lock(); |
239 | jump_label_sort_entries(iter_start, iter_stop); | 242 | jump_label_sort_entries(iter_start, iter_stop); |
240 | 243 | ||