From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Date: Wed, 11 Dec 2024 09:40:00 -0800 > On Wed, Dec 11, 2024 at 06:26:48PM +0100, Alexander Lobakin wrote: >> Sometimes, there's a need to modify a lot of static keys or modify the >> same key multiple times in a loop. In that case, it seems more optimal >> to lock cpu_read_lock once and then call _cpuslocked() variants. >> The enable/disable functions are already exported, the refcounted >> counterparts however are not. Fix that to allow modules to save some >> cycles. >> >> Signed-off-by: Alexander Lobakin <aleksander.lobakin@xxxxxxxxx> >> --- >> kernel/jump_label.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/kernel/jump_label.c b/kernel/jump_label.c >> index 93a822d3c468..1034c0348995 100644 >> --- a/kernel/jump_label.c >> +++ b/kernel/jump_label.c >> @@ -182,6 +182,7 @@ bool static_key_slow_inc_cpuslocked(struct static_key *key) >> } >> return true; >> } >> +EXPORT_SYMBOL_GPL(static_key_slow_inc_cpuslocked); >> >> bool static_key_slow_inc(struct static_key *key) >> { >> @@ -342,6 +343,7 @@ void static_key_slow_dec_cpuslocked(struct static_key *key) >> STATIC_KEY_CHECK_USE(key); >> __static_key_slow_dec_cpuslocked(key); >> } >> +EXPORT_SYMBOL_GPL(static_key_slow_dec_cpuslocked); > > Where's the code which uses this? It's not in this series -- the initial one was too large, so it was split. Thanks, Olek