This patch set adds busy-poll testing to the xsk selftests. It runs exactly the same tests as with regular softirq processing, but with busy-poll enabled. I have also included a number of fixes to the selftests that have been bugging me for a while or was discovered while implementing the busy-poll support. In summary these are: * Fix the error reporting of failed tests. Each failed test used to be reported as both failed and passed, messing up things. * Added a summary test printout at the end of the test suite so that users do not have to scroll up and look at the result of both the softirq run and the busy_poll run. * Added a timeout to the tests, so that if a test locks up, we report a fail and still get to run all the other tests. * Made the stats test just look and feel like all the other tests. Makes the code simpler and the test reporting more consistent. These are the 3 last commits. * Replaced zero length packets with packets of 64 byte length. This so that some of the tests will pass after commit 726e2c5929de84 ("veth: Ensure eth header is in skb's linear part"). * Added clean-up of the veth pair when terminating the test run. * Some smaller clean-ups of unused stuff. Note, to pass the busy-poll tests commit 8de8b71b787f ("xsk: Fix l2fwd for copy mode + busy poll combo") need to be present. It is present in bpf but not yet in bpf-next. Thanks: Magnus Magnus Karlsson (9): selftests: xsk: cleanup bash scripts selftests: xsk: do not send zero-length packets selftests: xsk: run all tests for busy-poll selftests: xsk: fix reporting of failed tests selftests: xsk: add timeout to tests selftests: xsk: cleanup veth pair at ctrl-c selftests: xsk: introduce validation functions selftests: xsk: make the stats tests normal tests selftests: xsk: make stat tests not spin on getsockopt tools/testing/selftests/bpf/test_xsk.sh | 53 +- tools/testing/selftests/bpf/xdpxceiver.c | 547 ++++++++++++++------- tools/testing/selftests/bpf/xdpxceiver.h | 42 +- tools/testing/selftests/bpf/xsk_prereqs.sh | 47 +- 4 files changed, 439 insertions(+), 250 deletions(-) base-commit: 43bf087848ab796fab93c9b4de59a7ed70aab94a -- 2.34.1