DPDK patches and discussions
 help / color / mirror / Atom feed
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: [RFC v2 10/10] eventdev: remove single event enqueue and dequeue
Date: Tue, 15 Oct 2024 20:25:35 +0200	[thread overview]
Message-ID: <20241015182535.825098-11-mattias.ronnblom@ericsson.com> (raw)
In-Reply-To: <20241015182535.825098-1-mattias.ronnblom@ericsson.com>

Remove the single event enqueue and dequeue, since they did not
provide any noticable performance benefits.

This is a change of the ABI, previously announced as a deprecation
notice. These functions were not directly called by the application,
so the API remains unaffected.

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 doc/guides/rel_notes/deprecation.rst |  6 +-----
 lib/eventdev/eventdev_pmd.h          |  4 ----
 lib/eventdev/eventdev_private.c      | 22 ----------------------
 lib/eventdev/rte_eventdev.h          | 21 ++++-----------------
 lib/eventdev/rte_eventdev_core.h     |  4 ----
 5 files changed, 5 insertions(+), 52 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 7bc2310bc4..6a6fd54444 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -173,11 +173,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/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..78b06d1f2e 100644
--- a/lib/eventdev/rte_eventdev_core.h
+++ b/lib/eventdev/rte_eventdev_core.h
@@ -60,16 +60,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


  parent reply	other threads:[~2024-10-15 18:35 UTC|newest]

Thread overview: 39+ 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-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     ` Mattias Rönnblom [this message]
2024-10-15 22:00       ` [RFC v2 10/10] eventdev: " 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=20241015182535.825098-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).