[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230913110248.30597-1-magnus.karlsson@gmail.com>
Date: Wed, 13 Sep 2023 13:02:22 +0200
From: Magnus Karlsson <magnus.karlsson@...il.com>
To: magnus.karlsson@...el.com,
bjorn@...nel.org,
ast@...nel.org,
daniel@...earbox.net,
netdev@...r.kernel.org,
maciej.fijalkowski@...el.com,
bpf@...r.kernel.org,
yhs@...com,
andrii@...nel.org,
martin.lau@...ux.dev,
song@...nel.org,
john.fastabend@...il.com,
kpsingh@...nel.org,
sdf@...gle.com,
haoluo@...gle.com,
jolsa@...nel.org,
przemyslaw.kitszel@...el.com
Cc: Magnus Karlsson <magnus.karlsson@...il.com>
Subject: [PATCH bpf-next v3 00/10] seltests/xsk: various improvements to xskxceiver
This patch set implements several improvements to the xsk selftests
test suite that I thought were useful while debugging the xsk
multi-buffer code and tests. The largest new feature is the ability to
be able to execute a single test instead of the whole test suite. This
required some surgery on the current code, details below.
Anatomy of the path set:
1: Print useful info on a per packet basis with the option -v
2: Add a timeout in the transmission loop too. We only used to have
one for the Rx thread, but Tx can lock up too waiting for
completions.
3: Add an option (-m) to only run the tests (or a single test with a
later patch) in a single mode: skb, drv, or zc (zero-copy).
4-5: Preparatory patches to be able to specify a test to run. Need to
define the test names in a single structure and their entry
points, so we can use this when wanting to run a specific test.
6: Adds a command line option (-l) that lists all the tests.
7: Adds a command line option (-t) that runs a specific test instead
of the whole test suite. Can be combined with -m to specify a
single mode too.
8: Use ksft_print_msg() uniformly throughout the tests. It was a mix
of printf() and ksft_print_msg() before.
9: In some places, we failed the whole test suite instead of a single
test in certain circumstances. Fix this so only the test in
question is failed and the rest of the test suite continues.
10: Display the available command line options with -h
v2 -> v3:
* Drop the support for environment variables. Probably not useful. [Maciej]
* Fixed spelling mistake in patch #9 [Maciej]
* Fail gracefully if unsupported mode is chosen [Maciej]
* Simplified test run loop [Maciej]
v1 -> v2:
* Introduce XSKTEST_MODE env variable to be able to set the mode to
use [Przemyslaw]
* Introduce XSKTEST_ETH env variable to be able to set the ethernet
interface to use by introducing a new patch (#11) [Magnus]
* Fixed spelling error in patch #5 [Przemyslaw, Maciej]
* Fixed confusing documentation in patch #10 [Przemyslaw]
* The -l option can now be used without being root [Magnus, Maciej]
* Fixed documentation error in patch #7 [Maciej]
* Added error handling to the -t option [Maciej]
* -h now displayed as an option [Maciej]
Thanks: Magnus
Magnus Karlsson (10):
selftests/xsk: print per packet info in verbose mode
selftests/xsk: add timeout for Tx thread
selftests/xsk: add option to only run tests in a single mode
selftests/xsk: move all tests to separate functions
selftests/xsk: declare test names in struct
selftests/xsk: add option that lists all tests
selftests/xsk: add option to run single test
selftests/xsk: use ksft_print_msg uniformly
selftests/xsk: fail single test instead of all tests
selftests/xsk: display command line options with -h
tools/testing/selftests/bpf/test_xsk.sh | 40 +-
tools/testing/selftests/bpf/xsk_prereqs.sh | 10 +-
tools/testing/selftests/bpf/xskxceiver.c | 539 ++++++++++++---------
tools/testing/selftests/bpf/xskxceiver.h | 44 +-
4 files changed, 372 insertions(+), 261 deletions(-)
base-commit: 5bbb9e1f08352a381a6e8a17b5180170b2a93685
--
2.42.0
Powered by blists - more mailing lists