On Tue, Jun 18, 2019 at 12:10 PM Greg KH gregkh@linuxfoundation.org wrote:
On Tue, Jun 18, 2019 at 08:31:16AM -0400, Willem de Bruijn wrote:
On Tue, Jun 18, 2019 at 7:27 AM Naresh Kamboju naresh.kamboju@linaro.org wrote:
selftests: net: udpgso_bench.sh failed on 4.19, 4.14, 4.9 and 4.4 branches. PASS on stable branch 5.1, mainline and next. This failure is started happening on 4.19 and older kernel branches after kselftest upgrade to version 5.1
Does version 5.1 here mean running tests from Linux 5.1, against older kernels?
Is there any possibilities to backport ?
Error: udpgso_bench_tx: setsockopt zerocopy: Unknown error 524
MSG_ZEROCOPY for UDP was added in commit b5947e5d1e71 ("udp: msg_zerocopy") in Linux 5.0.
The selftest was expanded with this feature in commit db63e489c7aa ("selftests: extend zerocopy tests to udp"), also in Linux 5.0.
Those tests are not expected to pass on older kernels.
Any way to degrade gracefully if the feature is not present at all in the kernel under test? People run the latest version of kselftests on older kernels all the time.
We add new tests along with new features and bug fixes all the time. All of those will fail on older kernels, as expected.
I'm honestly surprised to hear that we run newer tests against older kernels. Is the idea to validate fixes in stable branches? If so, should we instead backport the relevant tests to those stable branches? Only the tests that verify fixes, leaving out those for new features, of course.
Specific to the above test, I can add a check command testing setsockopt SO_ZEROCOPY return value. AFAIK kselftest has no explicit way to denote "skipped", so this would just return "pass". Sounds a bit fragile, passing success when a feature is absent.