mirror_ubuntu-kernels/tools/testing/selftests
Amit Cohen 61a00b196a selftests: mlxsw: Use shapers in QOS RED tests instead of forcing speed
QOS tests create congestion and verify the switch behavior. To create
congestion, they need to have more traffic than the port can handle, so
some of them force 1Gbps speed.

The tests assume that 1Gbps speed is supported, otherwise, they will fail.
Spectrum-4 ASIC will not support this speed in all ports, so to be able
to run the tests there, some adjustments are required. Use shapers to limit
the traffic instead of forcing speed. Note that for several ports, the
speed configuration is just for autoneg issues, so shaper is not needed
instead.

The tests already use ETS qdisc as a root and RED qdiscs as children. Add
a new TBF shaper to limit the rate of traffic, and use it as a root qdisc,
then save the previous hierarchy of qdiscs under the new TBF root.

In some ASICs, the shapers do not limit the traffic as accurately as
forcing speed. To make the tests stable, allow the backlog size to be up to
+-10% of the threshold. The aim of the tests is to make sure that with
backlog << threshold, there are no drops, and that packets are dropped
somewhere in vicinity of the configured threshold.

Signed-off-by: Amit Cohen <amcohen@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2022-09-19 18:07:59 -07:00
..
alsa selftests: alsa: Handle pkg-config failure more gracefully 2022-05-31 18:02:18 +02:00
arm64 selftests: stop using KSFT_KHDR_INSTALL 2022-07-11 17:23:30 -06:00
bpf Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2022-09-06 23:21:18 +02:00
breakpoints
capabilities
cgroup Two followon fixes for the post-5.19 series "Use pageblock_order for cma 2022-05-27 11:40:49 -07:00
clone3 selftests: fixup build warnings in pidfd / clone3 tests 2022-02-04 13:07:07 -07:00
core
cpu-hotplug
cpufreq selftests: cpufreq: Write test output to stdout as well 2022-01-25 13:20:03 -07:00
damon kselftests/damon: add support for cases where debugfs cannot be read 2022-06-27 14:14:41 -06:00
dma selftests dma: fix compile error for dma_map_benchmark 2022-06-16 14:03:21 -06:00
dmabuf-heaps
drivers selftests: mlxsw: Use shapers in QOS RED tests instead of forcing speed 2022-09-19 18:07:59 -07:00
efivarfs
exec linux-kselftest-next-5.18-rc1 2022-03-23 12:53:00 -07:00
filesystems Updates to various subsystems which I help look after. lib, ocfs2, 2022-08-07 10:03:24 -07:00
firmware selftests: firmware: Add firmware upload selftests 2022-04-29 16:49:36 +02:00
fpu
ftrace selftests/kprobe: Update test for no event name syntax error 2022-07-24 19:11:17 -04:00
futex selftests: stop using KSFT_KHDR_INSTALL 2022-07-11 17:23:30 -06:00
gpio selftests: gpio: fix include path to kernel headers for out of tree builds 2022-07-20 14:35:18 +02:00
ia64
intel_pstate
ipc
ir kselftests/ir : Improve readability of modprobe error message 2022-05-16 13:34:19 -06:00
kcmp selftests/kcmp: Make the test output consistent and clear 2022-07-08 10:55:43 -06:00
kexec selftests/kexec: remove broken EFI_VARS secure boot fallback check 2022-06-24 10:19:22 +02:00
kmod
kselftest selftests/kselftest/runner.sh: Pass optional command parameters in environment 2022-02-23 17:14:36 -07:00
kvm KVM: selftests: Fix ambiguous mov in KVM_ASM_SAFE() 2022-08-19 07:38:05 -04:00
landlock Landlock fix for v6.0-rc4 2022-09-02 15:24:08 -07:00
lib
livepatch livepatch: Skip livepatch tests if ftrace cannot be configured 2022-02-23 16:42:00 +01:00
lkdtm selftests/lkdtm: Add configs for stackleak and "after free" tests 2022-05-17 14:37:05 -07:00
locking
media_tests
membarrier
memfd selftests/memfd: clean up mapping in mfd_fail_write 2022-02-26 09:51:17 -08:00
memory-hotplug
mincore selftests: skip mincore.check_file_mmap when fs lacks needed support 2022-01-27 16:40:45 -07:00
mount
mount_setattr tests: fix idmapped mount_setattr test 2022-02-11 09:08:20 +01:00
move_mount_set_group
mqueue selftests: mqueue: drop duplicate min definition 2022-04-19 19:28:47 -06:00
nci
net selftests: mptcp: move prefix tests of addr_nr_ns2 together 2022-09-15 12:01:02 +02:00
netfilter netfilter: remove nf_conntrack_helper sysctl and modparam toggles 2022-08-31 12:12:32 +02:00
nsfs
ntb
openat2 selftests: openat2: Skip testcases that fail with EOPNOTSUPP 2022-01-27 16:31:07 -07:00
perf_events selftests/perf_events: Test modification of perf_event_attr::sig_data 2022-02-02 13:11:40 +01:00
pid_namespace selftests: fix header dependency for pid_namespace selftests 2022-04-04 13:32:31 -06:00
pidfd selftests: fix an unused variable warning in pidfd selftest 2022-04-04 13:32:53 -06:00
powerpc selftests/powerpc: Add missing PMU selftests to .gitignores 2022-08-15 20:59:17 +10:00
prctl
proc proc: fix test for "vsyscall=xonly" boot option 2022-07-17 17:31:43 -07:00
pstore
ptp testptp: add option to shift clock by nanoseconds 2022-02-22 17:03:40 -08:00
ptrace
rcutorture torture: Create kvm-check-branches.sh output in proper location 2022-06-21 15:57:04 -07:00
resctrl selftests/resctrl: Fix null pointer dereference on open failed 2022-04-26 09:20:00 -06:00
rlimits
rseq selftests/rseq: check if libc rseq support is registered 2022-06-28 09:08:28 +02:00
rtc selftests/rtc: continuously read RTC in a loop for 30s 2022-02-25 17:00:51 -07:00
safesetid LSM: SafeSetID: add setgroups() testing to selftest 2022-07-15 18:24:42 +00:00
sched
seccomp selftests/seccomp: Fix compile warning when CC=clang 2022-07-27 12:12:16 -07:00
sgx selftests/sgx: Ignore OpenSSL 3.0 deprecated functions warning 2022-08-15 16:50:07 -06:00
sigaltstack
size
sparc64
splice
static_keys
sync remove CONFIG_ANDROID 2022-07-01 10:41:09 +02:00
syscall_user_dispatch
sysctl selftests/sysctl: add sysctl macro test 2022-05-03 10:15:07 +02:00
tc-testing selftests/tc-testings: add tunnel_key action deleting test case 2022-09-16 14:25:16 +01:00
timens selftests/timens: add a test for vfork+exit 2022-06-15 07:58:22 -07:00
timers selftests: timers: clocksource-switch: adapt to kselftest framework 2022-07-14 14:36:52 -06:00
tmpfs
tpm2 selftests/tpm2: increase timeout for kselftests 2022-06-28 13:31:10 -06:00
uevent
user
user_events user_events: Add self-test for validator boundaries 2022-02-10 22:38:08 -05:00
vDSO selftests/vDSO: fix array_size.cocci warning 2022-04-04 13:27:11 -06:00
vm - The usual batches of cleanups from Baoquan He, Muchun Song, Miaohe 2022-08-05 16:32:45 -07:00
watchdog
wireguard wireguard: selftests: set CONFIG_NONPORTABLE on riscv32 2022-08-12 07:47:12 -07:00
x86 selftests/x86/corrupt_xstate_header: Use provided __cpuid_count() macro 2022-04-25 15:13:03 -06:00
zram selftests/zram: Adapt the situation that /dev/zram0 is being used 2022-01-27 10:59:02 -07:00
.gitignore selftests: add kselftest_install to .gitignore 2022-03-03 15:16:57 -07:00
gen_kselftest_tar.sh
kselftest_deps.sh selftests: Make the usage formatting consistent in kselftest_deps.sh 2022-06-27 14:14:27 -06:00
kselftest_harness.h selftests/harness: Pass variant to teardown 2022-04-04 13:37:48 -06:00
kselftest_install.sh
kselftest_module.h selftest: Taint kernel when test module loaded 2022-07-11 16:58:11 -06:00
kselftest.h selftests: Provide local define of __cpuid_count() 2022-04-25 15:12:36 -06:00
lib.mk selftests/vm: fix inability to build any vm tests 2022-08-19 17:57:20 -06:00
Makefile selftests: include bonding tests into the kselftest infra 2022-08-22 18:30:16 -07:00
run_kselftest.sh