[B][SRU][PATCH 0/5] Fix kselftest/net test build for the upcoming granularity improvement

Po-Hsu Lin po-hsu.lin at canonical.com
Fri Nov 5 10:45:29 UTC 2021


[Impact]
With 4.15 kernel, not all binary files inside a subtest directory in
tools/testing/selftests of a kernel tree can be built with command:

    make TARGETS=$subtest

For example, the following binaries in net directory won't be built:
 * reuseport_bpf
 * reuseport_bpf_cpu
 * reuseport_dualstack
 * reuseaddr_conflict
 * reuseport_bpf_numa

They can only be build with:

    make TARGETS=net run_tests

However, this will also start all of the tests in this subset and it's
is not ideal for the granularity improvement, in which we will want to
run tests one-by-one.

[Fix]
1. 14f1889f selftests: Fix loss of test output in run_kselftests.sh
2. 44f01352 selftests: Makefile set KSFT_TAP_LEVEL to prevent nested TAP headers
3. 8ce72dc3 selftests: fix headers_install circular dependency
4. 27d79a2b selftests: fix bpf build/test workflow regression when KBUILD_OUTPUT is set
5. e2e88325 selftests: vm: Fix test build failure when built by itself

The 1st and 5th patch can be cherry-picked. The 2nd needs to be
backported with some context adjustment (can be applied with git -cp
but not git am -C2). The 3rd and 4th patch would need to be applied
with -C2.

The third patch (8ce72dc3) is the fix for this issue. To get it
applied more easily we will need the first two.

The 4th (27d79a2b) and the 5th (e2e88325) patches are included here as
they have been marked as a fix for 8ce72dc3. Since we don't use
KBUILD_OUTPUT and the vm test, I think the risk of adding these two is
pretty low.

[Test]
Tested on a baremetal node "glameow" with 4.15.0-159-generic, the test
cases number and results are identical before and after applying this
change (compared side-by-side).

Please find attachment in the bug report for the test result.

[Where problems could occur]
As this is just tested with generic Bionic 4.15 kernel on a bare-metal
system, it's is possible to see other issues on different variants. If
this change is incorrect it will cause issue to our automated-testing
and regression-testing, but it won't affect the real kernel
functionality.


Michael Ellerman (1):
  selftests: Fix loss of test output in run_kselftests.sh

Shuah Khan (4):
  selftests: Makefile set KSFT_TAP_LEVEL to prevent nested TAP headers
  selftests: fix headers_install circular dependency
  selftests: fix bpf build/test workflow regression when KBUILD_OUTPUT
    is set
  selftests: vm: Fix test build failure when built by itself

 tools/testing/selftests/Makefile    | 71 +++++++++++++++++++++++++++++++------
 tools/testing/selftests/lib.mk      | 34 ++++++++++++++++--
 tools/testing/selftests/vm/Makefile |  4 ---
 3 files changed, 92 insertions(+), 17 deletions(-)

-- 
2.7.4




More information about the kernel-team mailing list