On 27.02.26 18:13, Jakub Kicinski wrote:
> The large chunks test needs 2MB hugepages for its mmap allocation,
> but the test system may not have any pre-allocated. Ensure at least
> 64 hugepages are available before running the test, and restore the
> original value on cleanup.
> 
> While at it strip the stdout, it has a trailing new line.
> 
> Before:
>   ok 5 iou-zcrx.test_zcrx_large_chunks # SKIP Can't allocate huge pages
> 
> Signed-off-by: Jakub Kicinski <[email protected]>
> ---
> CC: [email protected]
> CC: [email protected]
> CC: [email protected]
> CC: [email protected]
> ---
>  tools/testing/selftests/drivers/net/hw/iou-zcrx.py | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/drivers/net/hw/iou-zcrx.py 
> b/tools/testing/selftests/drivers/net/hw/iou-zcrx.py
> index 1649c23e05e2..66dd496ec5cf 100755
> --- a/tools/testing/selftests/drivers/net/hw/iou-zcrx.py
> +++ b/tools/testing/selftests/drivers/net/hw/iou-zcrx.py
> @@ -135,13 +135,21 @@ SKIP_CODE = 42
>  
>      cfg.require_ipver('6')
>  
> +    hp_file = "/proc/sys/vm/nr_hugepages"
> +    with open(hp_file, 'r+', encoding='utf-8') as f:
> +        nr_hugepages = int(f.read().strip())
> +        if nr_hugepages < 64:
> +            f.seek(0)
> +            f.write("64")
> +            defer(lambda: open(hp_file, 'w', 
> encoding='utf-8').write(str(nr_hugepages)))
> +
>      single(cfg)
>      rx_cmd = f"{cfg.bin_local} -s -p {cfg.port} -i {cfg.ifname} -q 
> {cfg.target} -x 2"
>      tx_cmd = f"{cfg.bin_remote} -c -h {cfg.addr_v['6']} -p {cfg.port} -l 
> 12840"
>  
>      probe = cmd(rx_cmd + " -d", fail=False)
>      if probe.ret == SKIP_CODE:
> -        raise KsftSkipEx(probe.stdout)
> +        raise KsftSkipEx(probe.stdout.strip())
>  
While working on a similar fix I found that the probe here also requires a 
barrier.

Thanks,
Dragos

Reply via email to