On Fri, Oct 03, 2025 at 04:30:24PM -0700, Jakub Kicinski wrote:
...
> @@ -91,9 +92,14 @@ from lib.py import cmd, tool, GenerateTraffic
>
> if s2['rx-alloc-fail'] - s1['rx-alloc-fail'] < 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)
> + seen_fails = s2['rx-alloc-fail'] - s1['rx-alloc-fail']
> + if s2['rx-alloc-fail'] - s1['rx-alloc-fail'] < want_fails:
I guess this could be as follows.
(Completely untested!)
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()
The nit above withstanding, this looks good to me.
Reviewed-by: Simon Horman <[email protected]>