Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'selftests-net-deflake-gro-tests-and-fix-return-value-and-output'

Kevin Krakauer says:

====================
selftests/net: deflake GRO tests and fix return value and output

The GRO selftests can flake and have some confusing behavior. These
changes make the output and return value of GRO behave as expected, then
deflake the tests.

v1: https://lore.kernel.org/20250218164555.1955400-1-krakauer@google.com
====================

Link: https://patch.msgid.link/20250226192725.621969-1-krakauer@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

+11 -7
+5 -3
tools/testing/selftests/net/gro.c
··· 1318 1318 read_MAC(src_mac, smac); 1319 1319 read_MAC(dst_mac, dmac); 1320 1320 1321 - if (tx_socket) 1321 + if (tx_socket) { 1322 1322 gro_sender(); 1323 - else 1323 + } else { 1324 + /* Only the receiver exit status determines test success. */ 1324 1325 gro_receiver(); 1326 + fprintf(stderr, "Gro::%s test passed.\n", testname); 1327 + } 1325 1328 1326 - fprintf(stderr, "Gro::%s test passed.\n", testname); 1327 1329 return 0; 1328 1330 }
+4 -3
tools/testing/selftests/net/gro.sh
··· 18 18 "--smac" "${CLIENT_MAC}" "--test" "${test}" "--verbose" ) 19 19 20 20 setup_ns 21 - # Each test is run 3 times to deflake, because given the receive timing, 21 + # Each test is run 6 times to deflake, because given the receive timing, 22 22 # not all packets that should coalesce will be considered in the same flow 23 23 # on every try. 24 - for tries in {1..3}; do 24 + for tries in {1..6}; do 25 25 # Actual test starts here 26 26 ip netns exec $server_ns ./gro "${ARGS[@]}" "--rx" "--iface" "server" \ 27 27 1>>log.txt & ··· 100 100 if [[ "${test}" == "all" ]]; then 101 101 run_all_tests 102 102 else 103 - run_test "${proto}" "${test}" 103 + exit_code=$(run_test "${proto}" "${test}") 104 + exit $exit_code 104 105 fi;
+2 -1
tools/testing/selftests/net/setup_veth.sh
··· 11 11 local -r ns_mac="$4" 12 12 13 13 [[ -e /var/run/netns/"${ns_name}" ]] || ip netns add "${ns_name}" 14 - echo 1000000 > "/sys/class/net/${ns_dev}/gro_flush_timeout" 14 + echo 100000 > "/sys/class/net/${ns_dev}/gro_flush_timeout" 15 + echo 1 > "/sys/class/net/${ns_dev}/napi_defer_hard_irqs" 15 16 ip link set dev "${ns_dev}" netns "${ns_name}" mtu 65535 16 17 ip -netns "${ns_name}" link set dev "${ns_dev}" up 17 18