netpoll: remove netpoll_srcu
authorEric Dumazet <edumazet@google.com>
Thu, 5 Sep 2024 08:49:09 +0000 (08:49 +0000)
committerJakub Kicinski <kuba@kernel.org>
Sat, 7 Sep 2024 01:24:59 +0000 (18:24 -0700)
commit9a95eedc81deb86af1ac56f2c2bfe8306b27b82a
treec12e40e9ded07ea80218166dbc7820eeec345764
parentc6a1739778949d5fdfbb1443b41acf5c43879283
netpoll: remove netpoll_srcu

netpoll_srcu is currently used from netpoll_poll_disable() and
__netpoll_cleanup()

Both functions run under RTNL, using netpoll_srcu adds confusion
and no additional protection.

Moreover the synchronize_srcu() call in __netpoll_cleanup() is
performed before clearing np->dev->npinfo, which violates RCU rules.

After this patch, netpoll_poll_disable() and netpoll_poll_enable()
simply use rtnl_dereference().

This saves a big chunk of memory (more than 192KB on platforms
with 512 cpus)

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Breno Leitao <leitao@debian.org>
Link: https://patch.msgid.link/20240905084909.2082486-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/netpoll.c