Merge branch 'selftest-net-add-selftest-for-netpoll'
authorJakub Kicinski <kuba@kernel.org>
Thu, 17 Jul 2025 00:25:50 +0000 (17:25 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 17 Jul 2025 00:25:51 +0000 (17:25 -0700)
commit27b0286d00394c178d0cde0388054c27ae4ae8f4
tree8f9221afd7ed372d1e71516ea9b88c2cf7903e12
parent6c628ed95e1b41f98766268593196adb7a0cb9a7
parentb3019343e4bde385d1d59918b2e3ffa4eb340739
Merge branch 'selftest-net-add-selftest-for-netpoll'

Breno Leitao says:

====================
selftest: net: Add selftest for netpoll

I am submitting a new selftest for the netpoll subsystem specifically
targeting the case where the RX is polling in the TX path, which is
a case that we don't have any test in the tree today. This is done when
netpoll_poll_dev() called, and this test creates a scenario when that is
probably.

The test does the following:

 1) Configuring a single RX/TX queue to increase contention on the
    interface.
 2) Generating background traffic to saturate the network, mimicking
    real-world congestion.
 3) Sending netconsole messages to trigger netpoll polling and monitor
    its behavior.
 4) Using dynamic netconsole targets via configfs, with the ability to
    delete and recreate targets during the test.
 5) Running bpftrace in parallel to verify that netpoll_poll_dev() is
    called when expected. If it is called, then the test passes,
    otherwise the test is marked as skipped.

In order to achieve it, I stole Jakub's bpftrace helper from [1], and
did some small changes that I found useful to use the helper.

So, this patchset basically contains:

 1) The code stolen from Jakub
 2) Improvements on bpftrace() helper
 3) The selftest itself

Link: https://lore.kernel.org/all/20250421222827.283737-22-kuba@kernel.org/
====================

Link: https://patch.msgid.link/20250714-netpoll_test-v7-0-c0220cfaa63e@debian.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>