On Mon, Sep 19, 2022 at 05:10:56PM +0800, Shang XiaoJing wrote: > Instead of invoking a synchronize_rcu() to free a pointer after a grace > period, we can directly make use of a new API that does the same but in > a more efficient way. > > Signed-off-by: Shang XiaoJing <shangxiaojing@xxxxxxxxxx> > --- > Changelog: > v3: the first version of the PATCH > v1: v3 resent as v1 > v2: use kfree_rcu() instead of kvfree_rcu() for clarity > v4: resend v2 as v4 to avoid versioning confusion > --- > drivers/staging/fwserial/fwserial.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/staging/fwserial/fwserial.c b/drivers/staging/fwserial/fwserial.c > index 81b06d88ed0d..8d2b4ed1f39e 100644 > --- a/drivers/staging/fwserial/fwserial.c > +++ b/drivers/staging/fwserial/fwserial.c > @@ -2117,8 +2117,7 @@ static void fwserial_remove_peer(struct fwtty_peer *peer) > if (port) > fwserial_release_port(port, true); > > - synchronize_rcu(); > - kfree(peer); > + kfree_rcu(peer); What is "more efficient" about this change? And do you have the hardware for this device to test with? It would be good to finally get this out of staging, or to just remove it entirely if no one uses it. thanks, greg k-h