From: "Mattias Rönnblom" <mattias.ronnblom@ericsson.com>
To: Jerin Jacob <jerinj@marvell.com>
Cc: dev@dpdk.org, "Mattias Rönnblom" <hofors@lysator.liu.se>,
"David Marchand" <david.marchand@redhat.com>,
"Stephen Hemminger" <stephen@networkplumber.org>,
"Anoob Joseph" <anoobj@marvell.com>,
"Hemant Agrawal" <hemant.agrawal@nxp.com>,
"Sachin Saxena" <sachin.saxena@oss.nxp.com>,
"Abdullah Sevincer" <abdullah.sevincer@intel.com>,
"Pavan Nikhilesh" <pbhagavatula@marvell.com>,
"Shijith Thotton" <sthotton@marvell.com>,
"Harry van Haaren" <harry.van.haaren@intel.com>,
"Mattias Rönnblom" <mattias.ronnblom@ericsson.com>
Subject: [PATCH 10/10] eventdev: remove single event enqueue and dequeue
Date: Mon, 21 Oct 2024 10:51:15 +0200 [thread overview]
Message-ID: <20241021085115.864114-11-mattias.ronnblom@ericsson.com> (raw)
In-Reply-To: <20241021085115.864114-1-mattias.ronnblom@ericsson.com>
Remove the single event enqueue and dequeue, since they did not
provide any noticeable performance benefits.
This is a change of the ABI, previously announced as a deprecation
notice. These functions were not directly invoked by the application,
so the API remains unaffected.
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
--
RFC v3:
* Update release notes. (Jerin Jacob)
* Remove single-event enqueue and dequeue function typedefs.
(Pavan Nikhilesh)
---
doc/guides/rel_notes/deprecation.rst | 6 +-----
doc/guides/rel_notes/release_24_11.rst | 3 +++
lib/eventdev/eventdev_pmd.h | 4 ----
lib/eventdev/eventdev_private.c | 22 ----------------------
lib/eventdev/rte_eventdev.h | 21 ++++-----------------
lib/eventdev/rte_eventdev_core.h | 11 -----------
6 files changed, 8 insertions(+), 59 deletions(-)
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 17b7332007..a90b54fc77 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -131,11 +131,7 @@ Deprecation Notices
* eventdev: The single-event (non-burst) enqueue and dequeue operations,
used by static inline burst enqueue and dequeue functions in ``rte_eventdev.h``,
- will be removed in DPDK 23.11.
- This simplification includes changing the layout and potentially also
- the size of the public ``rte_event_fp_ops`` struct, breaking the ABI.
- Since these functions are not called directly by the application,
- the API remains unaffected.
+ are removed in DPDK 24.11.
* pipeline: The pipeline library legacy API (functions rte_pipeline_*)
will be deprecated and subsequently removed in DPDK 24.11 release.
diff --git a/doc/guides/rel_notes/release_24_11.rst b/doc/guides/rel_notes/release_24_11.rst
index fa4822d928..5461798970 100644
--- a/doc/guides/rel_notes/release_24_11.rst
+++ b/doc/guides/rel_notes/release_24_11.rst
@@ -401,6 +401,9 @@ ABI Changes
* eventdev: Added ``preschedule_type`` field to ``rte_event_dev_config`` structure.
+* eventdev: The PMD single-event enqueue and dequeue function pointers are removed
+ from ``rte_event_fp_fps``.
+
* graph: To accommodate node specific xstats counters, added ``xstat_cntrs``,
``xstat_desc`` and ``xstat_count`` to ``rte_graph_cluster_node_stats``,
added new structure ``rte_node_xstats`` to ``rte_node_register`` and
diff --git a/lib/eventdev/eventdev_pmd.h b/lib/eventdev/eventdev_pmd.h
index af855e3467..36148f8d86 100644
--- a/lib/eventdev/eventdev_pmd.h
+++ b/lib/eventdev/eventdev_pmd.h
@@ -158,16 +158,12 @@ struct __rte_cache_aligned rte_eventdev {
uint8_t attached : 1;
/**< Flag indicating the device is attached */
- event_enqueue_t enqueue;
- /**< Pointer to PMD enqueue function. */
event_enqueue_burst_t enqueue_burst;
/**< Pointer to PMD enqueue burst function. */
event_enqueue_burst_t enqueue_new_burst;
/**< Pointer to PMD enqueue burst function(op new variant) */
event_enqueue_burst_t enqueue_forward_burst;
/**< Pointer to PMD enqueue burst function(op forward variant) */
- event_dequeue_t dequeue;
- /**< Pointer to PMD dequeue function. */
event_dequeue_burst_t dequeue_burst;
/**< Pointer to PMD dequeue burst function. */
event_maintain_t maintain;
diff --git a/lib/eventdev/eventdev_private.c b/lib/eventdev/eventdev_private.c
index b628f4a69e..6df129fc2d 100644
--- a/lib/eventdev/eventdev_private.c
+++ b/lib/eventdev/eventdev_private.c
@@ -5,15 +5,6 @@
#include "eventdev_pmd.h"
#include "rte_eventdev.h"
-static uint16_t
-dummy_event_enqueue(__rte_unused void *port,
- __rte_unused const struct rte_event *ev)
-{
- RTE_EDEV_LOG_ERR(
- "event enqueue requested for unconfigured event device");
- return 0;
-}
-
static uint16_t
dummy_event_enqueue_burst(__rte_unused void *port,
__rte_unused const struct rte_event ev[],
@@ -24,15 +15,6 @@ dummy_event_enqueue_burst(__rte_unused void *port,
return 0;
}
-static uint16_t
-dummy_event_dequeue(__rte_unused void *port, __rte_unused struct rte_event *ev,
- __rte_unused uint64_t timeout_ticks)
-{
- RTE_EDEV_LOG_ERR(
- "event dequeue requested for unconfigured event device");
- return 0;
-}
-
static uint16_t
dummy_event_dequeue_burst(__rte_unused void *port,
__rte_unused struct rte_event ev[],
@@ -129,11 +111,9 @@ event_dev_fp_ops_reset(struct rte_event_fp_ops *fp_op)
{
static void *dummy_data[RTE_MAX_QUEUES_PER_PORT];
static const struct rte_event_fp_ops dummy = {
- .enqueue = dummy_event_enqueue,
.enqueue_burst = dummy_event_enqueue_burst,
.enqueue_new_burst = dummy_event_enqueue_burst,
.enqueue_forward_burst = dummy_event_enqueue_burst,
- .dequeue = dummy_event_dequeue,
.dequeue_burst = dummy_event_dequeue_burst,
.maintain = dummy_event_maintain,
.txa_enqueue = dummy_event_tx_adapter_enqueue,
@@ -153,11 +133,9 @@ void
event_dev_fp_ops_set(struct rte_event_fp_ops *fp_op,
const struct rte_eventdev *dev)
{
- fp_op->enqueue = dev->enqueue;
fp_op->enqueue_burst = dev->enqueue_burst;
fp_op->enqueue_new_burst = dev->enqueue_new_burst;
fp_op->enqueue_forward_burst = dev->enqueue_forward_burst;
- fp_op->dequeue = dev->dequeue;
fp_op->dequeue_burst = dev->dequeue_burst;
fp_op->maintain = dev->maintain;
fp_op->txa_enqueue = dev->txa_enqueue;
diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index b5c3c16dd0..fabd1490db 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -2596,14 +2596,8 @@ __rte_event_enqueue_burst(uint8_t dev_id, uint8_t port_id,
}
#endif
rte_eventdev_trace_enq_burst(dev_id, port_id, ev, nb_events, (void *)fn);
- /*
- * Allow zero cost non burst mode routine invocation if application
- * requests nb_events as const one
- */
- if (nb_events == 1)
- return (fp_ops->enqueue)(port, ev);
- else
- return fn(port, ev, nb_events);
+
+ return fn(port, ev, nb_events);
}
/**
@@ -2852,15 +2846,8 @@ rte_event_dequeue_burst(uint8_t dev_id, uint8_t port_id, struct rte_event ev[],
}
#endif
rte_eventdev_trace_deq_burst(dev_id, port_id, ev, nb_events);
- /*
- * Allow zero cost non burst mode routine invocation if application
- * requests nb_events as const one
- */
- if (nb_events == 1)
- return (fp_ops->dequeue)(port, ev, timeout_ticks);
- else
- return (fp_ops->dequeue_burst)(port, ev, nb_events,
- timeout_ticks);
+
+ return (fp_ops->dequeue_burst)(port, ev, nb_events, timeout_ticks);
}
#define RTE_EVENT_DEV_MAINT_OP_FLUSH (1 << 0)
diff --git a/lib/eventdev/rte_eventdev_core.h b/lib/eventdev/rte_eventdev_core.h
index 2706d5e6c8..1818483044 100644
--- a/lib/eventdev/rte_eventdev_core.h
+++ b/lib/eventdev/rte_eventdev_core.h
@@ -12,18 +12,11 @@
extern "C" {
#endif
-typedef uint16_t (*event_enqueue_t)(void *port, const struct rte_event *ev);
-/**< @internal Enqueue event on port of a device */
-
typedef uint16_t (*event_enqueue_burst_t)(void *port,
const struct rte_event ev[],
uint16_t nb_events);
/**< @internal Enqueue burst of events on port of a device */
-typedef uint16_t (*event_dequeue_t)(void *port, struct rte_event *ev,
- uint64_t timeout_ticks);
-/**< @internal Dequeue event from port of a device */
-
typedef uint16_t (*event_dequeue_burst_t)(void *port, struct rte_event ev[],
uint16_t nb_events,
uint64_t timeout_ticks);
@@ -60,16 +53,12 @@ typedef void (*event_preschedule_t)(void *port,
struct __rte_cache_aligned rte_event_fp_ops {
void **data;
/**< points to array of internal port data pointers */
- event_enqueue_t enqueue;
- /**< PMD enqueue function. */
event_enqueue_burst_t enqueue_burst;
/**< PMD enqueue burst function. */
event_enqueue_burst_t enqueue_new_burst;
/**< PMD enqueue burst new function. */
event_enqueue_burst_t enqueue_forward_burst;
/**< PMD enqueue burst fwd function. */
- event_dequeue_t dequeue;
- /**< PMD dequeue function. */
event_dequeue_burst_t dequeue_burst;
/**< PMD dequeue burst function. */
event_maintain_t maintain;
--
2.43.0
next prev parent reply other threads:[~2024-10-21 9:00 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-15 8:49 [RFC 00/10] eventdev: remove single-event " Mattias Rönnblom
2024-10-15 8:49 ` [RFC 01/10] event/dsw: remove single event " Mattias Rönnblom
2024-10-15 18:25 ` [RFC v2 00/10] eventdev: remove single-event " Mattias Rönnblom
2024-10-15 18:25 ` [RFC v2 01/10] event/dsw: remove single event " Mattias Rönnblom
2024-10-17 6:38 ` [RFC v3 00/10] eventdev: remove single-event " Mattias Rönnblom
2024-10-17 6:38 ` [RFC v3 01/10] event/dsw: remove single event " Mattias Rönnblom
2024-10-17 6:38 ` [RFC v3 02/10] event/dlb2: " Mattias Rönnblom
2024-10-17 6:38 ` [RFC v3 03/10] event/octeontx: " Mattias Rönnblom
2024-10-17 6:38 ` [RFC v3 04/10] event/sw: " Mattias Rönnblom
2024-10-17 6:38 ` [RFC v3 05/10] event/dpaa: " Mattias Rönnblom
2024-10-17 6:38 ` [RFC v3 06/10] event/dpaa2: " Mattias Rönnblom
2024-10-17 6:38 ` [RFC v3 07/10] event/opdl: " Mattias Rönnblom
2024-10-17 6:38 ` [RFC v3 08/10] event/cnxk: " Mattias Rönnblom
2024-10-17 6:38 ` [RFC v3 09/10] event/skeleton: " Mattias Rönnblom
2024-10-17 6:38 ` [RFC v3 10/10] eventdev: " Mattias Rönnblom
2024-10-21 7:25 ` [RFC v3 00/10] eventdev: remove single-event " Jerin Jacob
2024-10-21 8:38 ` Mattias Rönnblom
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 01/10] event/dsw: remove single event " Mattias Rönnblom
2024-10-22 17:15 ` Jerin Jacob
2024-10-21 8:51 ` [PATCH 02/10] event/dlb2: " Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 03/10] event/octeontx: " Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 04/10] event/sw: " Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 05/10] event/dpaa: " Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 06/10] event/dpaa2: " Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 07/10] event/opdl: " Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 08/10] event/cnxk: " Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 09/10] event/skeleton: " Mattias Rönnblom
2024-10-21 8:51 ` Mattias Rönnblom [this message]
2024-10-21 9:21 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
2024-10-21 9:05 ` [PATCH 01/10] event/dsw: remove single event " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 01/10] event/dsw: remove single event " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 02/10] event/dlb2: " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 03/10] event/octeontx: " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 04/10] event/sw: " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 05/10] event/dpaa: " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 06/10] event/dpaa2: " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 07/10] event/opdl: " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 08/10] event/cnxk: " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 09/10] event/skeleton: " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 10/10] eventdev: " Mattias Rönnblom
2024-10-15 18:25 ` [RFC v2 02/10] event/dlb2: " Mattias Rönnblom
2024-10-15 18:25 ` [RFC v2 03/10] event/cnxk: " Mattias Rönnblom
2024-10-15 18:25 ` [RFC v2 04/10] event/octeontx: " Mattias Rönnblom
2024-10-15 18:25 ` [RFC v2 05/10] event/sw: " Mattias Rönnblom
2024-10-15 18:25 ` [RFC v2 06/10] event/dpaa: " Mattias Rönnblom
2024-10-15 18:25 ` [RFC v2 07/10] event/dpaa2: " Mattias Rönnblom
2024-10-15 18:25 ` [RFC v2 08/10] event/opdl: " Mattias Rönnblom
2024-10-15 18:25 ` [RFC v2 09/10] event/skeleton: " Mattias Rönnblom
2024-10-15 18:25 ` [RFC v2 10/10] eventdev: " Mattias Rönnblom
2024-10-15 22:00 ` Stephen Hemminger
2024-10-16 4:36 ` Mattias Rönnblom
2024-10-16 6:20 ` Mattias Rönnblom
2024-10-16 14:14 ` Jerin Jacob
2024-10-15 8:49 ` [RFC 02/10] event/dlb2: " Mattias Rönnblom
2024-10-15 8:49 ` [RFC 03/10] event/cnxk: " Mattias Rönnblom
2024-10-15 8:49 ` [RFC 04/10] event/octeontx: " Mattias Rönnblom
2024-10-15 8:49 ` [RFC 05/10] event/sw: " Mattias Rönnblom
2024-10-15 8:49 ` [RFC 06/10] event/dpaa: " Mattias Rönnblom
2024-10-15 8:49 ` [RFC 07/10] event/dpaa2: " Mattias Rönnblom
2024-10-15 8:49 ` [RFC 08/10] event/opdl: " Mattias Rönnblom
2024-10-15 8:49 ` [RFC 09/10] event/skeleton: " Mattias Rönnblom
2024-10-15 8:49 ` [RFC 10/10] eventdev: " Mattias Rönnblom
2024-10-15 17:07 ` [RFC 00/10] eventdev: remove single-event " Stephen Hemminger
2024-10-15 18:38 ` Mattias Rönnblom
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=20241021085115.864114-11-mattias.ronnblom@ericsson.com \
--to=mattias.ronnblom@ericsson.com \
--cc=abdullah.sevincer@intel.com \
--cc=anoobj@marvell.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=harry.van.haaren@intel.com \
--cc=hemant.agrawal@nxp.com \
--cc=hofors@lysator.liu.se \
--cc=jerinj@marvell.com \
--cc=pbhagavatula@marvell.com \
--cc=sachin.saxena@oss.nxp.com \
--cc=stephen@networkplumber.org \
--cc=sthotton@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).