Re: [PATCH] fs: nfs: sysfs: Switch to kvfree_rcu() API

From: Uladzislau Rezki
Date: Wed Dec 15 2021 - 14:42:36 EST


On Wed, Dec 15, 2021 at 12:18:40PM +0100, Uladzislau Rezki (Sony) wrote:
> From: Uladzislau Rezki <uladzislau.rezki@xxxxxxxx>
>
> Instead of invoking a synchronize_rcu() to free a pointer
> after a grace period we can directly make use of new API
> that does the same but in more efficient way.
>
> TO: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
> TO: linux-nfs@xxxxxxxxxxxxxxx
> Signed-off-by: Uladzislau Rezki <uladzislau.rezki@xxxxxxxx>
> ---
> fs/nfs/sysfs.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/fs/nfs/sysfs.c b/fs/nfs/sysfs.c
> index 8cb70755e3c9..ff88d5d58e1e 100644
> --- a/fs/nfs/sysfs.c
> +++ b/fs/nfs/sysfs.c
> @@ -113,10 +113,9 @@ static ssize_t nfs_netns_identifier_store(struct kobject *kobj,
> if (!p)
> return -ENOMEM;
> old = rcu_dereference_protected(xchg(&c->identifier, (char __rcu *)p), 1);
> - if (old) {
> - synchronize_rcu();
> - kfree(old);
> - }
> + if (old)
> + kvfree_rcu(old);
> +
> return count;
> }
>
> --
> 2.30.2
>
+ Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
+ linux-nfs@xxxxxxxxxxxxxxx

--
Vlad Rezki