On Mon, 02 Jun 2025 03:34:40 -0700 Breno Leitao wrote:
During performance analysis of console subsystem latency, I discovered that netconsole registers console handlers even when no active targets exist. These orphaned console handlers are invoked on every printk() call, get the lock, iterate through empty target lists, and consume CPU cycles without performing any useful work.
This patch series addresses the inefficiency by:
- Implementing dynamic console registration/unregistration based on target availability, ensuring console handlers are only active when needed
- Adding automatic cleanup of unused console registrations when targets are disabled or removed
- Extending the selftest suite to cover non-extended console format, which was previously untested
The optimization reduces printk() overhead by eliminating unnecessary function calls and list traversals when netconsole targets are not configured, improving overall system performance during heavy logging scenarios.
Ah, I wasn't very clear, full form letter at the end.
But also the tests seem to have failed now: https://netdev.bots.linux.dev/contest.html?branch=net-next-2025-06-02--12-00...
## Form letter - net-next-closed
Linus has already merged our PR with features for v6.16. net-next is closed for new drivers, features, code refactoring and optimizations for the remained for the merge window.
Please repost when net-next reopens after June 9th.
RFC patches sent for review only are obviously welcome at any time.
See: https://www.kernel.org/doc/html/next/process/maintainer-netdev.html#developm...