Re: [PATCH] mlxsw: core: Switch to kvfree_rcu() API

2 messages, 2 authors, 2021-12-15 · open the first message on its own page

Re: [PATCH] mlxsw: core: Switch to kvfree_rcu() API

From: Uladzislau Rezki <urezki@gmail.com>
Date: 2021-12-15 19:46:42

On Wed, Dec 15, 2021 at 12:18:43PM +0100, Uladzislau Rezki (Sony) wrote:
quoted hunk
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: David S. Miller <davem@davemloft.net>
TO: Jakub Kicinski <kuba@kernel.org>
TO: netdev@vger.kernel.org
Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
---
 drivers/net/ethernet/mellanox/mlxsw/core.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.c b/drivers/net/ethernet/mellanox/mlxsw/core.c
index 3fd3812b8f31..47c29769759b 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/core.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/core.c
@@ -2190,8 +2190,7 @@ void mlxsw_core_rx_listener_unregister(struct mlxsw_core *mlxsw_core,
 	if (!rxl_item)
 		return;
 	list_del_rcu(&rxl_item->list);
-	synchronize_rcu();
-	kfree(rxl_item);
+	kvfree_rcu(rxl_item);
 }
 EXPORT_SYMBOL(mlxsw_core_rx_listener_unregister);
 
-- 
2.30.2
+ David S. Miller [off-list ref]
+ Jakub Kicinski [off-list ref]
+ netdev@vger.kernel.org

--
Vlad Rezki

Re: [PATCH] mlxsw: core: Switch to kvfree_rcu() API

From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-12-15 23:38:10

On Wed, 15 Dec 2021 20:46:34 +0100 Uladzislau Rezki wrote:
quoted hunk
On Wed, Dec 15, 2021 at 12:18:43PM +0100, Uladzislau Rezki (Sony) wrote:
quoted
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: David S. Miller <davem@davemloft.net>
TO: Jakub Kicinski <kuba@kernel.org>
TO: netdev@vger.kernel.org
Signed-off-by: Uladzislau Rezki (Sony) <urezki@gmail.com>
---
 drivers/net/ethernet/mellanox/mlxsw/core.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.c b/drivers/net/ethernet/mellanox/mlxsw/core.c
index 3fd3812b8f31..47c29769759b 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/core.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/core.c
@@ -2190,8 +2190,7 @@ void mlxsw_core_rx_listener_unregister(struct mlxsw_core *mlxsw_core,
 	if (!rxl_item)
 		return;
 	list_del_rcu(&rxl_item->list);
-	synchronize_rcu();
-	kfree(rxl_item);
+	kvfree_rcu(rxl_item);
 }
 EXPORT_SYMBOL(mlxsw_core_rx_listener_unregister);

+ David S. Miller <davem@davemloft.net>
+ Jakub Kicinski <kuba@kernel.org>
+ netdev@vger.kernel.org
Impressive CC list. Please make a fresh posting to netdev@
and use ./scripts/get_maintainer.pl.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help