jump_label: Make it possible for arches to invoke jump_label_init() earlier
authorKevin Hao <haokexin@gmail.com>
Sat, 23 Jul 2016 09:12:37 +0000 (14:42 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 1 Aug 2016 01:15:01 +0000 (11:15 +1000)
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>
kernel/jump_label.c

index 0dbea887d6258522e7c2c10692f24ced83b51b8c..2d693be967dfdce869cfc24be918d7f65fe60831 100644 (file)
@@ -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);