All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
To: "Bastien Curutchet (eBPF Foundation)" <bastien.curutchet@bootlin.com>
Cc: "Björn Töpel" <bjorn@kernel.org>,
	"Magnus Karlsson" <magnus.karlsson@intel.com>,
	"Jonathan Lemon" <jonathan.lemon@gmail.com>,
	"Alexei Starovoitov" <ast@kernel.org>,
	"Daniel Borkmann" <daniel@iogearbox.net>,
	"Andrii Nakryiko" <andrii@kernel.org>,
	"Martin KaFai Lau" <martin.lau@linux.dev>,
	"Eduard Zingerman" <eddyz87@gmail.com>,
	"Song Liu" <song@kernel.org>,
	"Yonghong Song" <yonghong.song@linux.dev>,
	"John Fastabend" <john.fastabend@gmail.com>,
	"KP Singh" <kpsingh@kernel.org>,
	"Stanislav Fomichev" <sdf@fomichev.me>,
	"Hao Luo" <haoluo@google.com>, "Jiri Olsa" <jolsa@kernel.org>,
	"Mykola Lysenko" <mykolal@fb.com>,
	"Shuah Khan" <shuah@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Jesper Dangaard Brouer" <hawk@kernel.org>,
	"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
	"Alexis Lothore" <alexis.lothore@bootlin.com>,
	netdev@vger.kernel.org, bpf@vger.kernel.org,
	linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 00/13] selftests/bpf: Integrate test_xsk.c to test_progs framework
Date: Fri, 14 Mar 2025 16:45:59 +0100	[thread overview]
Message-ID: <Z9RPNzJtBgheiTeS@boxer> (raw)
In-Reply-To: <20250313-xsk-v1-0-7374729a93b9@bootlin.com>

On Thu, Mar 13, 2025 at 11:47:58AM +0100, Bastien Curutchet (eBPF Foundation) wrote:
> Hi all,
> 
> This patch series continues the work to migrate the script tests into
> prog_tests.

Hi Bastien,

the sole purpose of this is a cleanup of some sort?

> 
> The test_xsk.sh script tests lots of AF_XDP use cases. The tests it uses
> are defined in xksxceiver.c. As this script is used to test real
> hardware, the goal here is to keep it as is and only integrate the
> tests on veth peers into the test_progs framework.

We're doubling the functionality for no additional benefits? Or the
benefit of this set would be the veth xsk tests execution within BPF CI?

> Three tests are flaky on s390 so they won't be integrated to test_progs
> yet (I'm currently trying to make them more robust).
> 
> PATCH 1 & 2 fix some small issues xskxceiver.c
> PATCH 3 to 9 rework the xskxceiver to ease the integration in the
> test_progs framework. Two main points are addressed in them :
>  - wrap kselftest calls behind macros to ease their replacement later
>  - handle all errors to release resources instead of calling exit() when
>    any error occurs.
> PATCH 10 extracts test_xsk[.c/.h] from xskxceiver[.c/.h] to make the
> tests available to test_progs
> PATCH 11 enables kselftest de-activation
> PATCH 12 isolates the flaky tests
> PATCH 13 integrate the non-flaky tests to the test_progs framework

I didn't bisect but this set breaks the HW tests for me which *is* what we
care about. I'll dig onto that on monday and will get back to you.

sudo ./test_xsk.sh -i enp24s0f1np1
PREREQUISITES: [ PASS ]
1..93
ok 1 PASS: SKB SEND_RECEIVE
ok 2 PASS: SKB SEND_RECEIVE_2K_FRAME
ok 3 PASS: SKB SEND_RECEIVE_SINGLE_PKT
ok 4 PASS: SKB POLL_RX
ok 5 PASS: SKB POLL_TX
ok 6 PASS: SKB POLL_RXQ_FULL
ok 7 PASS: SKB POLL_TXQ_FULL
ok 1 # SKIP No huge pages present.
ok 8 PASS: SKB ALIGNED_INV_DESC
ok 9 PASS: SKB ALIGNED_INV_DESC_2K_FRAME_SIZE
ok 2 # SKIP No huge pages present.
ok 3 # SKIP No huge pages present.
ok 10 PASS: SKB UMEM_HEADROOM
ok 11 PASS: SKB BIDIRECTIONAL
ok 12 PASS: SKB STAT_RX_DROPPED
ok 13 PASS: SKB STAT_TX_INVALID
ok 14 PASS: SKB STAT_RX_FULL
ok 15 PASS: SKB STAT_FILL_EMPTY
ok 16 PASS: SKB XDP_PROG_CLEANUP
ok 17 PASS: SKB XDP_DROP_HALF
ok 18 PASS: SKB XDP_SHARED_UMEM
ok 19 PASS: SKB XDP_METADATA_COPY
ok 20 PASS: SKB XDP_METADATA_COPY_MULTI_BUFF
ok 21 PASS: SKB ALIGNED_INV_DESC_MULTI_BUFF
ok 4 # SKIP No huge pages present.
ok 22 PASS: SKB TOO_MANY_FRAGS
ok 23 PASS: SKB HW_SW_MIN_RING_SIZE
not ok 5 FAIL: SKB TEARDOWN
not ok 6 FAIL: SKB SEND_RECEIVE_9K_PACKETS
ok 7 # SKIP No huge pages present.
not ok 8 FAIL: DRV SEND_RECEIVE
not ok 9 FAIL: DRV SEND_RECEIVE_2K_FRAME
not ok 10 FAIL: DRV SEND_RECEIVE_SINGLE_PKT
not ok 11 FAIL: DRV POLL_RX
not ok 12 FAIL: DRV POLL_TX
ok 24 PASS: DRV POLL_RXQ_FULL
ok 25 PASS: DRV POLL_TXQ_FULL
ok 13 # SKIP No huge pages present.
not ok 14 FAIL: DRV ALIGNED_INV_DESC
not ok 15 FAIL: DRV ALIGNED_INV_DESC_2K_FRAME_SIZE
ok 16 # SKIP No huge pages present.
ok 17 # SKIP No huge pages present.
not ok 18 FAIL: DRV UMEM_HEADROOM
not ok 19 FAIL: DRV BIDIRECTIONAL
not ok 20 FAIL: DRV STAT_RX_DROPPED
not ok 21 FAIL: DRV STAT_TX_INVALID
not ok 22 FAIL: DRV STAT_RX_FULL
not ok 23 FAIL: DRV STAT_FILL_EMPTY
not ok 24 FAIL: DRV XDP_PROG_CLEANUP
not ok 25 FAIL: DRV XDP_DROP_HALF
not ok 26 FAIL: DRV XDP_SHARED_UMEM
not ok 27 FAIL: DRV XDP_METADATA_COPY
not ok 28 FAIL: DRV XDP_METADATA_COPY_MULTI_BUFF
not ok 29 FAIL: DRV ALIGNED_INV_DESC_MULTI_BUFF
ok 30 # SKIP No huge pages present.
not ok 31 FAIL: DRV TOO_MANY_FRAGS
ok 32 # SKIP Failed to change HW ring size.
not ok 33 FAIL: DRV HW_SW_MAX_RING_SIZE
not ok 34 FAIL: DRV TEARDOWN
not ok 35 FAIL: DRV SEND_RECEIVE_9K_PACKETS
ok 36 # SKIP No huge pages present.
not ok 37 FAIL: ZC SEND_RECEIVE
not ok 38 FAIL: ZC SEND_RECEIVE_2K_FRAME
not ok 39 FAIL: ZC SEND_RECEIVE_SINGLE_PKT
not ok 40 FAIL: ZC POLL_RX
not ok 41 FAIL: ZC POLL_TX
ok 26 PASS: ZC POLL_RXQ_FULL
ok 27 PASS: ZC POLL_TXQ_FULL
ok 42 # SKIP No huge pages present.
not ok 43 FAIL: ZC ALIGNED_INV_DESC
not ok 44 FAIL: ZC ALIGNED_INV_DESC_2K_FRAME_SIZE
ok 45 # SKIP No huge pages present.
ok 46 # SKIP No huge pages present.
not ok 47 FAIL: ZC UMEM_HEADROOM
not ok 48 FAIL: ZC BIDIRECTIONAL
ok 49 # SKIP Can not run RX_DROPPED test for ZC mode
not ok 50 FAIL: ZC STAT_TX_INVALID
not ok 51 FAIL: ZC STAT_RX_FULL
not ok 52 FAIL: ZC STAT_FILL_EMPTY
not ok 53 FAIL: ZC XDP_PROG_CLEANUP
not ok 54 FAIL: ZC XDP_DROP_HALF
not ok 55 FAIL: ZC XDP_SHARED_UMEM
not ok 56 FAIL: ZC XDP_METADATA_COPY
not ok 57 FAIL: ZC XDP_METADATA_COPY_MULTI_BUFF
not ok 58 FAIL: ZC ALIGNED_INV_DESC_MULTI_BUFF
ok 59 # SKIP No huge pages present.
not ok 60 FAIL: ZC TOO_MANY_FRAGS
ok 61 # SKIP Failed to change HW ring size.
not ok 62 FAIL: ZC HW_SW_MAX_RING_SIZE
not ok 63 FAIL: ZC TEARDOWN
not ok 64 FAIL: ZC SEND_RECEIVE_9K_PACKETS
ok 65 # SKIP No huge pages present.
# Planned tests != run tests (93 != 27)
# Totals: pass:27 fail:0 xfail:0 xpass:0 skip:0 error:0

(same for BUSY-POLL).

> 
> Signed-off-by: Bastien Curutchet (eBPF Foundation) <bastien.curutchet@bootlin.com>
> ---
> Bastien Curutchet (eBPF Foundation) (13):
>       selftests/bpf: test_xsk: Initialize bitmap before use
>       selftests/bpf: test_xsk: Fix memory leaks
>       selftests/bpf: test_xsk: Wrap ksft_*() behind macros
>       selftests/bpf: test_xsk: Add return value to init_iface()
>       selftests/bpf: test_xsk: Don't exit immediately when xsk_attach fails
>       selftests/bpf: test_xsk: Don't exit immediately when gettimeofday fails
>       selftests/bpf: test_xsk: Don't exit immediately when workers fail
>       selftests/bpf: test_xsk: Don't exit immediately if validate_traffic fails
>       selftests/bpf: test_xsk: Don't exit immediately on allocation failures
>       selftests/bpf: test_xsk: Split xskxceiver
>       selftests/bpf: test_xsk: Make kselftest dependency optional
>       selftests/bpf: test_xsk: Isolate flaky tests
>       selftests/bpf: test_xsk: Integrate test_xsk.c to test_progs framework
> 
>  tools/testing/selftests/bpf/Makefile              |   13 +-
>  tools/testing/selftests/bpf/prog_tests/test_xsk.c | 2416 ++++++++++++++++++++
>  tools/testing/selftests/bpf/prog_tests/test_xsk.h |  299 +++
>  tools/testing/selftests/bpf/prog_tests/xsk.c      |  178 ++
>  tools/testing/selftests/bpf/xskxceiver.c          | 2543 +--------------------
>  tools/testing/selftests/bpf/xskxceiver.h          |  153 --
>  6 files changed, 3021 insertions(+), 2581 deletions(-)
> ---
> base-commit: 720c696b16a1b1680f64cac9b3bb9e312a23ac47
> change-id: 20250218-xsk-0cf90e975d14
> 
> Best regards,
> -- 
> Bastien Curutchet (eBPF Foundation) <bastien.curutchet@bootlin.com>
> 

  parent reply	other threads:[~2025-03-14 15:46 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-13 10:47 [PATCH 00/13] selftests/bpf: Integrate test_xsk.c to test_progs framework Bastien Curutchet (eBPF Foundation)
2025-03-13 10:47 ` [PATCH 01/13] selftests/bpf: test_xsk: Initialize bitmap before use Bastien Curutchet (eBPF Foundation)
2025-03-13 10:48 ` [PATCH 02/13] selftests/bpf: test_xsk: Fix memory leaks Bastien Curutchet (eBPF Foundation)
2025-03-13 10:48 ` [PATCH 03/13] selftests/bpf: test_xsk: Wrap ksft_*() behind macros Bastien Curutchet (eBPF Foundation)
2025-03-13 10:48 ` [PATCH 04/13] selftests/bpf: test_xsk: Add return value to init_iface() Bastien Curutchet (eBPF Foundation)
2025-03-13 10:48 ` [PATCH 05/13] selftests/bpf: test_xsk: Don't exit immediately when xsk_attach fails Bastien Curutchet (eBPF Foundation)
2025-03-13 10:48 ` [PATCH 06/13] selftests/bpf: test_xsk: Don't exit immediately when gettimeofday fails Bastien Curutchet (eBPF Foundation)
2025-03-13 10:48 ` [PATCH 07/13] selftests/bpf: test_xsk: Don't exit immediately when workers fail Bastien Curutchet (eBPF Foundation)
2025-03-13 10:48 ` [PATCH 08/13] selftests/bpf: test_xsk: Don't exit immediately if validate_traffic fails Bastien Curutchet (eBPF Foundation)
2025-03-13 10:48 ` [PATCH 09/13] selftests/bpf: test_xsk: Don't exit immediately on allocation failures Bastien Curutchet (eBPF Foundation)
2025-03-13 10:48 ` [PATCH 10/13] selftests/bpf: test_xsk: Split xskxceiver Bastien Curutchet (eBPF Foundation)
2025-03-18 13:16   ` Maciej Fijalkowski
2025-03-18 15:10     ` Bastien Curutchet
2025-03-13 10:48 ` [PATCH 11/13] selftests/bpf: test_xsk: Make kselftest dependency optional Bastien Curutchet (eBPF Foundation)
2025-03-13 10:48 ` [PATCH 12/13] selftests/bpf: test_xsk: Isolate flaky tests Bastien Curutchet (eBPF Foundation)
2025-03-13 10:48 ` [PATCH 13/13] selftests/bpf: test_xsk: Integrate test_xsk.c to test_progs framework Bastien Curutchet (eBPF Foundation)
2025-03-13 10:50 ` [PATCH 00/13] selftests/bpf: " Bastien Curutchet
2025-03-14 15:45 ` Maciej Fijalkowski [this message]
2025-03-14 16:08   ` Bastien Curutchet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z9RPNzJtBgheiTeS@boxer \
    --to=maciej.fijalkowski@intel.com \
    --cc=alexis.lothore@bootlin.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bastien.curutchet@bootlin.com \
    --cc=bjorn@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=eddyz87@gmail.com \
    --cc=haoluo@google.com \
    --cc=hawk@kernel.org \
    --cc=john.fastabend@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=jonathan.lemon@gmail.com \
    --cc=kpsingh@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=magnus.karlsson@intel.com \
    --cc=martin.lau@linux.dev \
    --cc=mykolal@fb.com \
    --cc=netdev@vger.kernel.org \
    --cc=sdf@fomichev.me \
    --cc=shuah@kernel.org \
    --cc=song@kernel.org \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=yonghong.song@linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.