* [PATCH bpf-next v5 3/4] selftests: xsk: Use hugepages when umem->frame_size > PAGE_SIZE
[not found] <20230410120629.642955-1-kal.conley@dectris.com>
@ 2023-04-10 12:06 ` Kal Conley
2023-04-10 12:06 ` [PATCH bpf-next v5 4/4] selftests: xsk: Add tests for 8K and 9K frame sizes Kal Conley
1 sibling, 0 replies; 2+ messages in thread
From: Kal Conley @ 2023-04-10 12:06 UTC (permalink / raw)
To: Magnus Karlsson, Björn Töpel, Maciej Fijalkowski,
Jonathan Lemon, Andrii Nakryiko, Mykola Lysenko,
Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu,
Yonghong Song, John Fastabend, KP Singh, Stanislav Fomichev,
Hao Luo, Jiri Olsa, Shuah Khan
Cc: Kal Conley, netdev, bpf, linux-kselftest, linux-kernel
HugeTLB UMEMs now support chunk_size > PAGE_SIZE. Set MAP_HUGETLB when
frame_size > PAGE_SIZE for future tests.
Signed-off-by: Kal Conley <kal.conley@dectris.com>
---
tools/testing/selftests/bpf/xskxceiver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/bpf/xskxceiver.c b/tools/testing/selftests/bpf/xskxceiver.c
index 5a9691e942de..7eccf57a0ccc 100644
--- a/tools/testing/selftests/bpf/xskxceiver.c
+++ b/tools/testing/selftests/bpf/xskxceiver.c
@@ -1289,7 +1289,7 @@ static void thread_common_ops(struct test_spec *test, struct ifobject *ifobject)
void *bufs;
int ret;
- if (ifobject->umem->unaligned_mode)
+ if (ifobject->umem->frame_size > sysconf(_SC_PAGESIZE) || ifobject->umem->unaligned_mode)
mmap_flags |= MAP_HUGETLB;
if (ifobject->shared_umem)
--
2.39.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH bpf-next v5 4/4] selftests: xsk: Add tests for 8K and 9K frame sizes
[not found] <20230410120629.642955-1-kal.conley@dectris.com>
2023-04-10 12:06 ` [PATCH bpf-next v5 3/4] selftests: xsk: Use hugepages when umem->frame_size > PAGE_SIZE Kal Conley
@ 2023-04-10 12:06 ` Kal Conley
1 sibling, 0 replies; 2+ messages in thread
From: Kal Conley @ 2023-04-10 12:06 UTC (permalink / raw)
To: Magnus Karlsson, Björn Töpel, Maciej Fijalkowski,
Jonathan Lemon, Andrii Nakryiko, Mykola Lysenko,
Alexei Starovoitov, Daniel Borkmann, Martin KaFai Lau, Song Liu,
Yonghong Song, John Fastabend, KP Singh, Stanislav Fomichev,
Hao Luo, Jiri Olsa, Shuah Khan
Cc: Kal Conley, netdev, bpf, linux-kselftest, linux-kernel
Add tests:
- RUN_TO_COMPLETION_8K_FRAME_SIZE: frame_size=8192 (aligned)
- UNALIGNED_9K_FRAME_SIZE: frame_size=9000 (unaligned)
Signed-off-by: Kal Conley <kal.conley@dectris.com>
---
tools/testing/selftests/bpf/xskxceiver.c | 25 ++++++++++++++++++++++++
tools/testing/selftests/bpf/xskxceiver.h | 2 ++
2 files changed, 27 insertions(+)
diff --git a/tools/testing/selftests/bpf/xskxceiver.c b/tools/testing/selftests/bpf/xskxceiver.c
index 7eccf57a0ccc..86797de7fc50 100644
--- a/tools/testing/selftests/bpf/xskxceiver.c
+++ b/tools/testing/selftests/bpf/xskxceiver.c
@@ -1841,6 +1841,17 @@ static void run_pkt_test(struct test_spec *test, enum test_mode mode, enum test_
pkt_stream_replace(test, DEFAULT_PKT_CNT, PKT_SIZE);
testapp_validate_traffic(test);
break;
+ case TEST_TYPE_RUN_TO_COMPLETION_8K_FRAME:
+ if (!hugepages_present(test->ifobj_tx)) {
+ ksft_test_result_skip("No 2M huge pages present.\n");
+ return;
+ }
+ test_spec_set_name(test, "RUN_TO_COMPLETION_8K_FRAME_SIZE");
+ test->ifobj_tx->umem->frame_size = 8192;
+ test->ifobj_rx->umem->frame_size = 8192;
+ pkt_stream_replace(test, DEFAULT_PKT_CNT, PKT_SIZE);
+ testapp_validate_traffic(test);
+ break;
case TEST_TYPE_RX_POLL:
test->ifobj_rx->use_poll = true;
test_spec_set_name(test, "POLL_RX");
@@ -1904,6 +1915,20 @@ static void run_pkt_test(struct test_spec *test, enum test_mode mode, enum test_
if (!testapp_unaligned(test))
return;
break;
+ case TEST_TYPE_UNALIGNED_9K_FRAME:
+ if (!hugepages_present(test->ifobj_tx)) {
+ ksft_test_result_skip("No 2M huge pages present.\n");
+ return;
+ }
+ test_spec_set_name(test, "UNALIGNED_9K_FRAME_SIZE");
+ test->ifobj_tx->umem->frame_size = 9000;
+ test->ifobj_rx->umem->frame_size = 9000;
+ test->ifobj_tx->umem->unaligned_mode = true;
+ test->ifobj_rx->umem->unaligned_mode = true;
+ pkt_stream_replace(test, DEFAULT_PKT_CNT, PKT_SIZE);
+ test->ifobj_rx->pkt_stream->use_addr_for_fill = true;
+ testapp_validate_traffic(test);
+ break;
case TEST_TYPE_HEADROOM:
testapp_headroom(test);
break;
diff --git a/tools/testing/selftests/bpf/xskxceiver.h b/tools/testing/selftests/bpf/xskxceiver.h
index 919327807a4e..7f52f737f5e9 100644
--- a/tools/testing/selftests/bpf/xskxceiver.h
+++ b/tools/testing/selftests/bpf/xskxceiver.h
@@ -69,12 +69,14 @@ enum test_mode {
enum test_type {
TEST_TYPE_RUN_TO_COMPLETION,
TEST_TYPE_RUN_TO_COMPLETION_2K_FRAME,
+ TEST_TYPE_RUN_TO_COMPLETION_8K_FRAME,
TEST_TYPE_RUN_TO_COMPLETION_SINGLE_PKT,
TEST_TYPE_RX_POLL,
TEST_TYPE_TX_POLL,
TEST_TYPE_POLL_RXQ_TMOUT,
TEST_TYPE_POLL_TXQ_TMOUT,
TEST_TYPE_UNALIGNED,
+ TEST_TYPE_UNALIGNED_9K_FRAME,
TEST_TYPE_ALIGNED_INV_DESC,
TEST_TYPE_ALIGNED_INV_DESC_2K_FRAME,
TEST_TYPE_UNALIGNED_INV_DESC,
--
2.39.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-04-10 12:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20230410120629.642955-1-kal.conley@dectris.com>
2023-04-10 12:06 ` [PATCH bpf-next v5 3/4] selftests: xsk: Use hugepages when umem->frame_size > PAGE_SIZE Kal Conley
2023-04-10 12:06 ` [PATCH bpf-next v5 4/4] selftests: xsk: Add tests for 8K and 9K frame sizes Kal Conley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox