mbox series

[net-next,0/4] selftests: drv-net: improve the queue test for XSK

Message ID 20250218195048.74692-1-kuba@kernel.org (mailing list archive)
Headers show
Series selftests: drv-net: improve the queue test for XSK | expand

Message

Jakub Kicinski Feb. 18, 2025, 7:50 p.m. UTC
We see some flakes in the the XSK test:

   Exception| Traceback (most recent call last):
   Exception|   File "/home/virtme/testing-18/tools/testing/selftests/net/lib/py/ksft.py", line 218, in ksft_run
   Exception|     case(*args)
   Exception|   File "/home/virtme/testing-18/tools/testing/selftests/drivers/net/./queues.py", line 53, in check_xdp
   Exception|     ksft_eq(q['xsk'], {})
   Exception| KeyError: 'xsk'

I think it's because the method or running the helper in the background
is racy. Add more solid infra for waiting for a background helper to be
initialized.

Jakub Kicinski (4):
  selftests: drv-net: use cfg.rpath() in netlink xsk attr test
  selftests: drv-net: add a way to wait for a local process
  selftests: drv-net: improve the use of ksft helpers in XSK queue test
  selftests: drv-net: rename queues check_xdp to check_xsk

 .../selftests/drivers/net/xdp_helper.c        | 22 ++++++-
 tools/testing/selftests/drivers/net/queues.py | 55 ++++++++----------
 tools/testing/selftests/net/lib/py/ksft.py    |  5 ++
 tools/testing/selftests/net/lib/py/utils.py   | 58 +++++++++++++++++--
 4 files changed, 103 insertions(+), 37 deletions(-)

Comments

Stanislav Fomichev Feb. 18, 2025, 9:29 p.m. UTC | #1
On 02/18, Jakub Kicinski wrote:
> We see some flakes in the the XSK test:
> 
>    Exception| Traceback (most recent call last):
>    Exception|   File "/home/virtme/testing-18/tools/testing/selftests/net/lib/py/ksft.py", line 218, in ksft_run
>    Exception|     case(*args)
>    Exception|   File "/home/virtme/testing-18/tools/testing/selftests/drivers/net/./queues.py", line 53, in check_xdp
>    Exception|     ksft_eq(q['xsk'], {})
>    Exception| KeyError: 'xsk'
> 
> I think it's because the method or running the helper in the background
> is racy. Add more solid infra for waiting for a background helper to be
> initialized.
> 
> Jakub Kicinski (4):
>   selftests: drv-net: use cfg.rpath() in netlink xsk attr test
>   selftests: drv-net: add a way to wait for a local process
>   selftests: drv-net: improve the use of ksft helpers in XSK queue test
>   selftests: drv-net: rename queues check_xdp to check_xsk
> 
>  .../selftests/drivers/net/xdp_helper.c        | 22 ++++++-
>  tools/testing/selftests/drivers/net/queues.py | 55 ++++++++----------
>  tools/testing/selftests/net/lib/py/ksft.py    |  5 ++
>  tools/testing/selftests/net/lib/py/utils.py   | 58 +++++++++++++++++--
>  4 files changed, 103 insertions(+), 37 deletions(-)
> 
> -- 
> 2.48.1
> 

Acked-by: Stanislav Fomichev <sdf@fomichev.me>
Joe Damato Feb. 18, 2025, 9:55 p.m. UTC | #2
On Tue, Feb 18, 2025 at 11:50:44AM -0800, Jakub Kicinski wrote:
> We see some flakes in the the XSK test:
> 
>    Exception| Traceback (most recent call last):
>    Exception|   File "/home/virtme/testing-18/tools/testing/selftests/net/lib/py/ksft.py", line 218, in ksft_run
>    Exception|     case(*args)
>    Exception|   File "/home/virtme/testing-18/tools/testing/selftests/drivers/net/./queues.py", line 53, in check_xdp
>    Exception|     ksft_eq(q['xsk'], {})
>    Exception| KeyError: 'xsk'
> 
> I think it's because the method or running the helper in the background
> is racy. Add more solid infra for waiting for a background helper to be
> initialized.

Sorry for the raciness I introduced. I think overall the direction
this is going is good - thanks for cleaning this up.

Please see my comments on patch 2 and the hang introduced with this
change.