mirror of
https://github.com/torvalds/linux.git
synced 2026-03-14 00:56:20 +01:00
selftests: drv-net: pp_alloc_fail: lower traffic expectations
Lower the expected level of traffic in the pp_alloc_fail test and calculate failure counter thresholds based on the traffic rather than using a fixed constant. We only have "QEMU HW" in NIPA right now, and the test (due to debug dependencies) only works on debug kernels in the first place. We need some place for it to pass otherwise it seems to be bit rotting. So lower the traffic threshold so that it passes on QEMU and with a debug kernel... Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Link: https://patch.msgid.link/20251007232653.2099376-9-kuba@kernel.org Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
0be740fb22
commit
fbb467f0ed
1 changed files with 11 additions and 5 deletions
|
|
@ -7,6 +7,7 @@ Test driver resilience vs page pool allocation failures.
|
|||
|
||||
import errno
|
||||
import time
|
||||
import math
|
||||
import os
|
||||
from lib.py import ksft_run, ksft_exit, ksft_pr
|
||||
from lib.py import KsftSkipEx, KsftFailEx
|
||||
|
|
@ -62,7 +63,7 @@ def test_pp_alloc(cfg, netdevnl):
|
|||
stat1 = get_stats()
|
||||
time.sleep(1)
|
||||
stat2 = get_stats()
|
||||
if stat2['rx-packets'] - stat1['rx-packets'] < 15000:
|
||||
if stat2['rx-packets'] - stat1['rx-packets'] < 4000:
|
||||
raise KsftFailEx("Traffic seems low:", stat2['rx-packets'] - stat1['rx-packets'])
|
||||
|
||||
|
||||
|
|
@ -89,11 +90,16 @@ def test_pp_alloc(cfg, netdevnl):
|
|||
time.sleep(3)
|
||||
s2 = get_stats()
|
||||
|
||||
if s2['rx-alloc-fail'] - s1['rx-alloc-fail'] < 1:
|
||||
seen_fails = s2['rx-alloc-fail'] - s1['rx-alloc-fail']
|
||||
if seen_fails < 1:
|
||||
raise KsftSkipEx("Allocation failures not increasing")
|
||||
if s2['rx-alloc-fail'] - s1['rx-alloc-fail'] < 100:
|
||||
raise KsftSkipEx("Allocation increasing too slowly", s2['rx-alloc-fail'] - s1['rx-alloc-fail'],
|
||||
"packets:", s2['rx-packets'] - s1['rx-packets'])
|
||||
pkts = s2['rx-packets'] - s1['rx-packets']
|
||||
# Expecting one failure per 512 buffers, 3.1x safety margin
|
||||
want_fails = math.floor(pkts / 512 / 3.1)
|
||||
if seen_fails < want_fails:
|
||||
raise KsftSkipEx("Allocation increasing too slowly", seen_fails,
|
||||
"packets:", pkts)
|
||||
ksft_pr(f"Seen: pkts:{pkts} fails:{seen_fails} (pass thrs:{want_fails})")
|
||||
|
||||
# Basic failures are fine, try to wobble some settings to catch extra failures
|
||||
check_traffic_flowing()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue