Message ID | cover.1690471774.git.petrm@nvidia.com (mailing list archive) |
---|---|
Headers | show |
Series | mlxsw: Avoid non-tracker helpers when holding and putting netdevices | expand |
On Thu, Jul 27, 2023 at 6:00 PM Petr Machata <petrm@nvidia.com> wrote: > > Using the tracking helpers, netdev_hold() and netdev_put(), makes it easier > to debug netdevice refcount imbalances when CONFIG_NET_DEV_REFCNT_TRACKER > is enabled. For example, the following traceback shows the callpath to the > point of an outstanding hold that was never put: > > unregister_netdevice: waiting for swp3 to become free. Usage count = 6 > ref_tracker: eth%d@ffff888123c9a580 has 1/5 users at > mlxsw_sp_switchdev_event+0x6bd/0xcc0 [mlxsw_spectrum] > notifier_call_chain+0xbf/0x3b0 > atomic_notifier_call_chain+0x78/0x200 > br_switchdev_fdb_notify+0x25f/0x2c0 [bridge] > fdb_notify+0x16a/0x1a0 [bridge] > [...] > > In this patchset, get rid of all non-ref-tracking helpers in mlxsw. For the series : Reviewed-by: Eric Dumazet <edumazet@google.com>
Hello: This series was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Thu, 27 Jul 2023 17:59:18 +0200 you wrote: > Using the tracking helpers, netdev_hold() and netdev_put(), makes it easier > to debug netdevice refcount imbalances when CONFIG_NET_DEV_REFCNT_TRACKER > is enabled. For example, the following traceback shows the callpath to the > point of an outstanding hold that was never put: > > unregister_netdevice: waiting for swp3 to become free. Usage count = 6 > ref_tracker: eth%d@ffff888123c9a580 has 1/5 users at > mlxsw_sp_switchdev_event+0x6bd/0xcc0 [mlxsw_spectrum] > notifier_call_chain+0xbf/0x3b0 > atomic_notifier_call_chain+0x78/0x200 > br_switchdev_fdb_notify+0x25f/0x2c0 [bridge] > fdb_notify+0x16a/0x1a0 [bridge] > [...] > > [...] Here is the summary with links: - [net-next,1/7] mlxsw: spectrum: Drop unused functions mlxsw_sp_port_lower_dev_hold/_put() https://git.kernel.org/netdev/net-next/c/569f98b36b38 - [net-next,2/7] mlxsw: spectrum_nve: Do not take reference when looking up netdevice https://git.kernel.org/netdev/net-next/c/16f8c846cd6f - [net-next,3/7] mlxsw: spectrum_switchdev: Use tracker helpers to hold & put netdevices https://git.kernel.org/netdev/net-next/c/1ae489ab43e0 - [net-next,4/7] mlxsw: spectrum_router: FIB: Use tracker helpers to hold & put netdevices https://git.kernel.org/netdev/net-next/c/deeaa3716f4f - [net-next,5/7] mlxsw: spectrum_router: hw_stats: Use tracker helpers to hold & put netdevices https://git.kernel.org/netdev/net-next/c/b17b2d57b7c1 - [net-next,6/7] mlxsw: spectrum_router: RIF: Use tracker helpers to hold & put netdevices https://git.kernel.org/netdev/net-next/c/d0e0e880122f - [net-next,7/7] mlxsw: spectrum_router: IPv6 events: Use tracker helpers to hold & put netdevices https://git.kernel.org/netdev/net-next/c/cb2116204169 You are awesome, thank you!