[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191008141611.usmxb5vzoxc36wqw@salvia>
Date: Tue, 8 Oct 2019 16:16:11 +0200
From: Pablo Neira Ayuso <pablo@...filter.org>
To: paulmck@...nel.org
Cc: rcu@...r.kernel.org, linux-kernel@...r.kernel.org,
mingo@...nel.org, jiangshanlai@...il.com, dipankar@...ibm.com,
akpm@...ux-foundation.org, mathieu.desnoyers@...icios.com,
josh@...htriplett.org, tglx@...utronix.de, peterz@...radead.org,
rostedt@...dmis.org, dhowells@...hat.com, edumazet@...gle.com,
fweisbec@...il.com, oleg@...hat.com, joel@...lfernandes.org,
Jozsef Kadlecsik <kadlec@...filter.org>,
Florian Westphal <fw@...len.de>,
"David S. Miller" <davem@...emloft.net>,
netfilter-devel@...r.kernel.org, coreteam@...filter.org,
netdev@...r.kernel.org
Subject: Re: [PATCH tip/core/rcu 8/9] net/netfilter: Replace
rcu_swap_protected() with rcu_replace()
On Wed, Oct 02, 2019 at 06:43:09PM -0700, paulmck@...nel.org wrote:
> From: "Paul E. McKenney" <paulmck@...nel.org>
>
> This commit replaces the use of rcu_swap_protected() with the more
> intuitively appealing rcu_replace() as a step towards removing
> rcu_swap_protected().
>
> Link: https://lore.kernel.org/lkml/CAHk-=wiAsJLw1egFEE=Z7-GGtM6wcvtyytXZA1+BHqta4gg6Hw@mail.gmail.com/
> Reported-by: Linus Torvalds <torvalds@...ux-foundation.org>
> Signed-off-by: Paul E. McKenney <paulmck@...nel.org>
> Cc: Pablo Neira Ayuso <pablo@...filter.org>
> Cc: Jozsef Kadlecsik <kadlec@...filter.org>
> Cc: Florian Westphal <fw@...len.de>
> Cc: "David S. Miller" <davem@...emloft.net>
> Cc: <netfilter-devel@...r.kernel.org>
> Cc: <coreteam@...filter.org>
> Cc: <netdev@...r.kernel.org>
Acked-by: Pablo Neira Ayuso <pablo@...filter.org>
> ---
> net/netfilter/nf_tables_api.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
> index d481f9b..8499baf 100644
> --- a/net/netfilter/nf_tables_api.c
> +++ b/net/netfilter/nf_tables_api.c
> @@ -1461,8 +1461,9 @@ static void nft_chain_stats_replace(struct nft_trans *trans)
> if (!nft_trans_chain_stats(trans))
> return;
>
> - rcu_swap_protected(chain->stats, nft_trans_chain_stats(trans),
> - lockdep_commit_lock_is_held(trans->ctx.net));
> + nft_trans_chain_stats(trans) =
> + rcu_replace(chain->stats, nft_trans_chain_stats(trans),
> + lockdep_commit_lock_is_held(trans->ctx.net));
>
> if (!nft_trans_chain_stats(trans))
> static_branch_inc(&nft_counters_enabled);
> --
> 2.9.5
>
Powered by blists - more mailing lists