From: Luka Jankovic <luka.jankovic@ericsson.com>
To: <luka.jankovic@ericsson.com>
Cc: <dev@dpdk.org>, <jerinj@marvell.com>,
<mattias.ronnblom@ericsson.com>, <pbhagavatula@marvell.com>
Subject: [RFC v7 0/4] eventdev: atomic tests to test-eventdev app
Date: Wed, 19 Feb 2025 14:43:21 +0100 [thread overview]
Message-ID: <20250219134325.1195531-1-luka.jankovic@ericsson.com> (raw)
In-Reply-To: <20250124095937.1436673-1-luka.jankovic@ericsson.com>
Add atomic tests to the test-eventdev app which correspond to the order
tests but use exclusively atomic queues.
The test detects if port maintenance is required, and so they are compatible
with event devices such as the distributed software eventdev.
To verify atomicity, a spinlock is used for each combination of stage and flow.
It is acquired whenever an event is dequeued for processing and released when
processing is finished.
The tests will fail if a port attempts to acquire a lock which is already held.
Luka Jankovic (4):
eventdev: atomic common for test-eventdev app
eventdev: add atomic queue test to test-evnetdev app
eventdev: add atomic atq to test-eventdev app
eventdev: documentation for atomic queue and atomic atq tests
app/test-eventdev/evt_common.h | 9 +
app/test-eventdev/meson.build | 3 +
app/test-eventdev/test_atomic_atq.c | 216 +++
app/test-eventdev/test_atomic_common.c | 134 ++
app/test-eventdev/test_atomic_common.h | 85 +
app/test-eventdev/test_atomic_queue.c | 230 +++
.../tools/img/eventdev_atomic_atq_test.svg | 1588 +++++++++++++++
.../tools/img/eventdev_atomic_queue_test.svg | 1701 +++++++++++++++++
doc/guides/tools/testeventdev.rst | 155 ++
9 files changed, 4121 insertions(+)
create mode 100644 app/test-eventdev/test_atomic_atq.c
create mode 100644 app/test-eventdev/test_atomic_common.c
create mode 100644 app/test-eventdev/test_atomic_common.h
create mode 100644 app/test-eventdev/test_atomic_queue.c
create mode 100644 doc/guides/tools/img/eventdev_atomic_atq_test.svg
create mode 100644 doc/guides/tools/img/eventdev_atomic_queue_test.svg
---
v7:
* Refactor common atomic test functionality into separate common file.
* Implement atomic atq
v6:
* Revert the use of event.u64 to mbufs as the Marvell CNXK platform assumes
event.u64 to be 8-byte aligned, which causes the test to fail.
* Clarified deadlock error message.
v5:
* Updated documentation for dpdk-test-eventdev
v4:
* Fix code style issues.
* Remove unused imports.
v3:
* Use struct to avoid bit operations when accessing event u64.
* Changed __rte_always_inline to inline for processing stages.
* Introduce idle timeout constant.
* Formatting and cleanup.
v2:
* Changed to only check queue, flow combination, not port, queue, flow.
* Lock is only held when a packet is processed.
* Utilize event u64 instead of mbuf.
* General cleanup.
---
2.34.1
next prev parent reply other threads:[~2025-02-19 13:43 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-19 14:48 [RFC v2 1/1] eventdev: add atomic queue " Luka Jankovic
2024-12-23 11:16 ` Mattias Rönnblom
2025-01-09 10:22 ` Luka Jankovic
2025-01-13 9:04 ` [RFC v3 " ejnulak
2025-01-13 12:17 ` [RFC v4 " Luka Jankovic
2025-01-13 12:27 ` [EXTERNAL] " Jerin Jacob
2025-01-15 13:38 ` [RFC v5 1/2] " Luka Jankovic
2025-01-22 10:20 ` [EXTERNAL] " Pavan Nikhilesh Bhagavatula
2025-01-22 15:10 ` Luka Jankovic
2025-01-24 9:59 ` [RFC PATCH v6 " Luka Jankovic
2025-02-04 16:11 ` [EXTERNAL] " Pavan Nikhilesh Bhagavatula
2025-02-14 9:58 ` Luka Jankovic
2025-02-14 15:59 ` Pavan Nikhilesh Bhagavatula
2025-02-19 13:43 ` Luka Jankovic [this message]
2025-02-19 13:43 ` [RFC v7 1/4] eventdev: atomic common for " Luka Jankovic
2025-02-19 13:43 ` [RFC v7 2/4] eventdev: add atomic queue test to test-evnetdev app Luka Jankovic
2025-02-19 13:43 ` [RFC v7 3/4] eventdev: add atomic atq to test-eventdev app Luka Jankovic
2025-02-19 13:43 ` [RFC v7 4/4] eventdev: documentation for atomic queue and atomic atq tests Luka Jankovic
2025-02-20 9:13 ` [EXTERNAL] [RFC v7 0/4] eventdev: atomic tests to test-eventdev app Pavan Nikhilesh Bhagavatula
2025-01-24 9:59 ` [RFC PATCH v6 2/2] eventdev: documentation for atomic queue test Luka Jankovic
2025-01-15 13:38 ` [RFC v5 " Luka Jankovic
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=20250219134325.1195531-1-luka.jankovic@ericsson.com \
--to=luka.jankovic@ericsson.com \
--cc=dev@dpdk.org \
--cc=jerinj@marvell.com \
--cc=mattias.ronnblom@ericsson.com \
--cc=pbhagavatula@marvell.com \
/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;
as well as URLs for NNTP newsgroup(s).