Commit 8fb5b607 authored by Petr Machata's avatar Petr Machata Committed by Jakub Kicinski
Browse files

selftests: mlxsw: sch_red_core: Increase backlog size tolerance



Backlog fluctuates on Spectrum-4 much more than on <4. In practice we can
sample queue depth values going from about -12% to about +7% of the
configured RED limit. The test which checks the queue size has a limit of
+-10%, and as a result often fails. We attempted to fix the issue by
busywaiting for several seconds hoping to get within the bounds, but that
still proved to be too noisy (or the wait time would be impractically
long). Unfortunately we have to bump the value tolerance from 10% to 15%,
which in this patch do.

Signed-off-by: default avatarPetr Machata <petrm@nvidia.com>
Reviewed-by: default avatarAmit Cohen <amcohen@nvidia.com>
Link: https://patch.msgid.link/f54950df2a8fcba46c3ddc1053376352fa2e592b.1728316370.git.petrm@nvidia.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 870dd511
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -532,10 +532,11 @@ do_red_test()
	check_fail $? "Traffic went into backlog instead of being early-dropped"
	pct=$(check_marking get_nmarked $vlan "== 0")
	check_err $? "backlog $backlog / $limit Got $pct% marked packets, expected == 0."
	backlog=$(get_qdisc_backlog $vlan)
	local diff=$((limit - backlog))
	pct=$((100 * diff / limit))
	((-10 <= pct && pct <= 10))
	check_err $? "backlog $backlog / $limit expected <= 10% distance"
	((-15 <= pct && pct <= 15))
	check_err $? "backlog $backlog / $limit expected <= 15% distance"
	log_test "TC $((vlan - 10)): RED backlog > limit"

	stop_traffic