Fosstodon
NETDEV VIDEOS
Session
Diagnosing Page Pool Leaks
Instructors
Dragos Tatulea
Label
Nuts and Bolts
Session Type
Tutorial
Description
Page pools have become the standard way of doing memory management on the RX data path. Implementing page pool support in a NIC driver is not rocket science. Once such support is added and the obvious problems are dealt with the driver author might be faced with a long tail of issues related to page pool leaks. While these leaks are not critical they are frustrating to deal with.
This talk provides practical guidelines for diagnosing page pool leaks and narrowing down their sources using the drgn debugger [0]. Drawing from real-world examples [1][2], it demonstrates some debugging techniques and heuristics to differentiate true leaks from false positives. Although techniques for handling such issues have been discussed on the Netdev mailing list [3][4], clear examples have been lacking—this talk aims to fill that gap.
The tool used in this tutorial is the drgn debugger. This tutorial can also be seen as showcase for drgn with it’s many powers. The scripts together with the small drgn changes are available in a temporary drgn fork repo [5] but hopefully some of them will be folded into drgn itself.
The session will benefit driver authors who need to debug or understand such issues. It could also be interesting for savvy system administrators to understand and assess the significance of these leaks.
References:
[0] https://drgn.readthedocs.io
[1] f232de7cdb4b (“net/mlx5e: SHAMPO, Fix page leak”)
[2] aaab619ccd07 (“net/mlx5e: XDP, Fix XDP_REDIRECT mpwqe page fragment leaks on shutdown”)
[3] Add netlink-based introspection for page pools: https://lore.kernel.org/netdev/ZWfuyc13oEkp583C@makrotopia.org/T/#m5746652f9f93b71f120a072b206732a6fcc89f5e
[4] https://lore.kernel.org/netdev/20240814075603.05f8b0f5@kernel.org/
[5] https://github.com/dtatulea/drgn/tree/netdevconf-0x19-talk
Recent News
Bronze Sponsor, NVIDIA
[Sun, 09, Mar. 2025]
Bronze Sponsor, ByteDance
[Fri, 21, Feb. 2025]
Bronze Sponsor, Fastly
[Wed, 19, Feb. 2025]
Bronze Sponsor, secunet
[Mon, 17, Feb. 2025]
Bronze Sponsor, Relianoid
[Thu, 13, Feb. 2025]
Important Dates
Closing of CFS | Jan 17th, 2025 |
Notification by | Jan 26th, 2025 |
Conference dates | March 10th-13th |