From: Breno Leitao Date: Thu, 18 Sep 2025 12:25:58 +0000 (-0700) Subject: net: netpoll: use synchronize_net() instead of synchronize_rcu() X-Git-Tag: v6.18-rc1~132^2~99^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=614accf5455304ac0e708882609a34ec9aec463b;p=thirdparty%2Flinux.git net: netpoll: use synchronize_net() instead of synchronize_rcu() Replace synchronize_rcu() with synchronize_net() in __netpoll_free(). synchronize_net() is RTNL-aware and will use the more efficient synchronize_rcu_expedited() when called under RTNL lock, avoiding the potentially expensive synchronize_rcu() in RTNL critical sections. Since __netpoll_free() is called with RTNL held (as indicated by ASSERT_RTNL()), this change improves performance by reducing the time spent in the RTNL critical section. Signed-off-by: Breno Leitao Link: https://patch.msgid.link/20250918-netpoll_jv-v1-2-67d50eeb2c26@debian.org Signed-off-by: Jakub Kicinski --- diff --git a/net/core/netpoll.c b/net/core/netpoll.c index c58faa7471650..60a05d3b7c249 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c @@ -834,7 +834,7 @@ void __netpoll_free(struct netpoll *np) ASSERT_RTNL(); /* Wait for transmitting packets to finish before freeing. */ - synchronize_rcu(); + synchronize_net(); __netpoll_cleanup(np); kfree(np); }