[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241211174000.tpnavd77pyfq7hw3@jpoimboe>
Date: Wed, 11 Dec 2024 09:40:00 -0800
From: Josh Poimboeuf <jpoimboe@...nel.org>
To: Alexander Lobakin <aleksander.lobakin@...el.com>
Cc: Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
John Fastabend <john.fastabend@...il.com>,
Andrii Nakryiko <andrii@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
"Jose E. Marchesi" <jose.marchesi@...cle.com>,
Toke Høiland-Jørgensen <toke@...hat.com>,
Magnus Karlsson <magnus.karlsson@...el.com>,
Maciej Fijalkowski <maciej.fijalkowski@...el.com>,
Przemek Kitszel <przemyslaw.kitszel@...el.com>,
Jason Baron <jbaron@...mai.com>,
Casey Schaufler <casey@...aufler-ca.com>,
Nathan Chancellor <nathan@...nel.org>,
nex.sw.ncis.osdt.itp.upstreaming@...el.com, bpf@...r.kernel.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next 11/12] jump_label: export
static_key_slow_{inc,dec}_cpuslocked()
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@...el.com>
> ---
> 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?
--
Josh
Powered by blists - more mailing lists