diff options
author | Kevin Hao <haokexin@gmail.com> | 2016-07-23 14:42:37 +0530 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2016-08-01 11:15:01 +1000 |
commit | e3f91083facb792dc8d8fd0a59639e4d6e7c0c8f (patch) | |
tree | c8afe09d68a86f86bb04946d7d822af5f3bed121 | |
parent | b8f1b4f8606b40b478072fb551f79e2984d44fad (diff) | |
download | linux-e3f91083facb792dc8d8fd0a59639e4d6e7c0c8f.tar.gz linux-e3f91083facb792dc8d8fd0a59639e4d6e7c0c8f.tar.bz2 linux-e3f91083facb792dc8d8fd0a59639e4d6e7c0c8f.zip |
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) struct static_key *key = NULL; struct jump_entry *iter; + if (static_key_initialized) + return; + jump_label_lock(); jump_label_sort_entries(iter_start, iter_stop); |