From: Bastien Curutchet <bastien.curutchet@bootlin.com>
To: Maciej Fijalkowski <maciej.fijalkowski@intel.com>,
Alexei Starovoitov <alexei.starovoitov@gmail.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>,
"Network Development" <netdev@vger.kernel.org>,
bpf <bpf@vger.kernel.org>,
"open list:KERNEL SELFTEST FRAMEWORK"
<linux-kselftest@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH bpf-next v5 00/15] selftests/bpf: Integrate test_xsk.c to test_progs framework
Date: Tue, 21 Oct 2025 13:40:52 +0200 [thread overview]
Message-ID: <eb98c4ea-6f12-42b0-a2a2-1f53963d4e52@bootlin.com> (raw)
In-Reply-To: <aPN1dy1OVaNiB5IB@boxer>
Hi
On 10/18/25 1:09 PM, Maciej Fijalkowski wrote:
> On Fri, Oct 17, 2025 at 11:27:26AM -0700, Alexei Starovoitov wrote:
>> On Thu, Oct 16, 2025 at 12:45 AM Bastien Curutchet (eBPF Foundation)
>> <bastien.curutchet@bootlin.com> wrote:
>>>
>>> Hi all,
>>>
>>> Now that the merge window is over, here's a respin of the previous
>>> iteration rebased on the latest bpf-next_base. The bug triggering the
>>> XDP_ADJUST_TAIL_SHRINK_MULTI_BUFF failure when CONFIG_DEBUG_VM is
>>> enabled hasn't been fixed yet so I've moved the test to the flaky
>>> table.
>>>
>>> The test_xsk.sh script covers many AF_XDP use cases. The tests it runs
>>> are defined in xksxceiver.c. Since this script is used to test real
>>> hardware, the goal here is to leave it as it is, and only integrate the
>>> tests that run on veth peers into the test_progs framework.
>>>
>>> Some tests are flaky so they can't be integrated in the CI as they are.
>>> I think that fixing their flakyness would require a significant amount of
>>> work. So, as first step, I've excluded them from the list of tests
>>> migrated to the CI (cf PATCH 14). If these tests get fixed at some
>>> point, integrating them into the CI will be straightforward.
>>>
>>> PATCH 1 extracts test_xsk[.c/.h] from xskxceiver[.c/.h] to make the
>>> tests available to test_progs.
>>> PATCH 2 to 7 fix small issues in the current test
>>> PATCH 8 to 13 handle all errors to release resources instead of calling
>>> exit() when any error occurs.
>>> PATCH 14 isolates some flaky tests
>>> PATCH 15 integrate the non-flaky tests to the test_progs framework
>>
>> Looks good, but why does it take so long to run?
>>
>> time ./test_progs -t xsk
>> Summary: 2/66 PASSED, 0 SKIPPED, 0 FAILED
>>
>> real 0m29.031s
>> user 0m4.414s
>> sys 0m20.893s
>>
>> That's a big addition to overall test_progs time.
>> Could you reduce it to a couple seconds?
>
> it's because veth pair is setup per each test case from what i recall when
> i was pointing this out during review. it does not scale. it would be
> better to have veth created once for whole test suite. HTH.
>
The initial test_xsk.sh was already quite long, the test migration
hasn't affected its execution time on my side.
I've tried setting up the veth peers once for all the subtests, as
suggested by Maciej; this results in about a 35% speed gain on my setup,
but unfortunately, it’s still not enough to bring it down to a couple of
seconds.
I'll investigate it further.
Best regards,
Bastien
prev parent reply other threads:[~2025-10-21 11:41 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-16 7:45 [PATCH bpf-next v5 00/15] selftests/bpf: Integrate test_xsk.c to test_progs framework Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 01/15] selftests/bpf: test_xsk: Split xskxceiver Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 02/15] selftests/bpf: test_xsk: Initialize bitmap before use Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 03/15] selftests/bpf: test_xsk: Fix __testapp_validate_traffic()'s return value Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 04/15] selftests/bpf: test_xsk: fix memory leak in testapp_stats_rx_dropped() Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 05/15] selftests/bpf: test_xsk: fix memory leak in testapp_xdp_shared_umem() Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 06/15] selftests/bpf: test_xsk: Wrap test clean-up in functions Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 07/15] selftests/bpf: test_xsk: Release resources when swap fails Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 08/15] selftests/bpf: test_xsk: Add return value to init_iface() Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 09/15] selftests/bpf: test_xsk: Don't exit immediately when xsk_attach fails Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 10/15] selftests/bpf: test_xsk: Don't exit immediately when gettimeofday fails Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 11/15] selftests/bpf: test_xsk: Don't exit immediately when workers fail Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 12/15] selftests/bpf: test_xsk: Don't exit immediately if validate_traffic fails Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 13/15] selftests/bpf: test_xsk: Don't exit immediately on allocation failures Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 14/15] selftests/bpf: test_xsk: Isolate flaky tests Bastien Curutchet (eBPF Foundation)
2025-10-16 7:45 ` [PATCH bpf-next v5 15/15] selftests/bpf: test_xsk: Integrate test_xsk.c to test_progs framework Bastien Curutchet (eBPF Foundation)
2025-10-17 18:27 ` [PATCH bpf-next v5 00/15] selftests/bpf: " Alexei Starovoitov
2025-10-18 11:09 ` Maciej Fijalkowski
2025-10-21 11:40 ` Bastien Curutchet [this message]
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=eb98c4ea-6f12-42b0-a2a2-1f53963d4e52@bootlin.com \
--to=bastien.curutchet@bootlin.com \
--cc=alexei.starovoitov@gmail.com \
--cc=alexis.lothore@bootlin.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--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=maciej.fijalkowski@intel.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox