DPDK patches and discussions
 help / color / mirror / Atom feed
* [RFC 00/10] eventdev: remove single-event enqueue and dequeue
@ 2024-10-15  8:49 Mattias Rönnblom
  2024-10-15  8:49 ` [RFC 01/10] event/dsw: remove single event " Mattias Rönnblom
                   ` (10 more replies)
  0 siblings, 11 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15  8:49 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Mattias Rönnblom

Remove the single-event enqueue and dequeue functions from the
eventdev "ops" struct, to reduce complexity, leaving performance
unaffected.

This ABI change has been announced as a DPDK deprication notice,
originally scheduled for DPDK 23.11.

Mattias Rönnblom (10):
  event/dsw: remove single event enqueue and dequeue
  event/dlb2: remove single event enqueue and dequeue
  event/cnxk: remove single event enqueue and dequeue
  event/octeontx: remove single event enqueue and dequeue
  event/sw: remove single event enqueue and dequeue
  event/dpaa: remove single event enqueue and dequeue
  event/dpaa2: remove single event enqueue and dequeue
  event/opdl: remove single event enqueue and dequeue
  event/skeleton: remove single event enqueue and dequeue
  eventdev: remove single event enqueue and dequeue

 doc/guides/rel_notes/deprecation.rst       |  6 +--
 drivers/event/cnxk/cn10k_eventdev.c        |  2 -
 drivers/event/cnxk/cn10k_worker.c          | 49 ++++++++++------------
 drivers/event/cnxk/cn10k_worker.h          |  9 ----
 drivers/event/cnxk/cn9k_eventdev.c         |  1 -
 drivers/event/cnxk/cn9k_worker.c           | 26 ++++--------
 drivers/event/cnxk/cn9k_worker.h           | 17 --------
 drivers/event/dlb2/dlb2.c                  | 33 +--------------
 drivers/event/dpaa/dpaa_eventdev.c         | 27 +-----------
 drivers/event/dpaa2/dpaa2_eventdev.c       |  2 -
 drivers/event/dsw/dsw_evdev.c              |  2 -
 drivers/event/dsw/dsw_evdev.h              |  2 -
 drivers/event/dsw/dsw_event.c              | 12 ------
 drivers/event/octeontx/ssovf_evdev.h       |  1 -
 drivers/event/octeontx/ssovf_worker.c      | 40 ++----------------
 drivers/event/opdl/opdl_evdev.c            |  2 -
 drivers/event/skeleton/skeleton_eventdev.c |  4 --
 drivers/event/sw/sw_evdev.c                |  2 -
 drivers/event/sw/sw_evdev.h                |  2 -
 drivers/event/sw/sw_evdev_worker.c         | 12 ------
 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 --
 24 files changed, 43 insertions(+), 259 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC 01/10] event/dsw: remove single event enqueue and dequeue
  2024-10-15  8:49 [RFC 00/10] eventdev: remove single-event enqueue and dequeue Mattias Rönnblom
@ 2024-10-15  8:49 ` Mattias Rönnblom
  2024-10-15 18:25   ` [RFC v2 00/10] eventdev: remove single-event " Mattias Rönnblom
  2024-10-15  8:49 ` [RFC 02/10] event/dlb2: " Mattias Rönnblom
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15  8:49 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/dsw/dsw_evdev.c |  2 --
 drivers/event/dsw/dsw_evdev.h |  2 --
 drivers/event/dsw/dsw_event.c | 12 ------------
 3 files changed, 16 deletions(-)

diff --git a/drivers/event/dsw/dsw_evdev.c b/drivers/event/dsw/dsw_evdev.c
index 1df3121b21..e819412639 100644
--- a/drivers/event/dsw/dsw_evdev.c
+++ b/drivers/event/dsw/dsw_evdev.c
@@ -453,11 +453,9 @@ dsw_probe(struct rte_vdev_device *vdev)
 		return -EFAULT;
 
 	dev->dev_ops = &dsw_evdev_ops;
-	dev->enqueue = dsw_event_enqueue;
 	dev->enqueue_burst = dsw_event_enqueue_burst;
 	dev->enqueue_new_burst = dsw_event_enqueue_new_burst;
 	dev->enqueue_forward_burst = dsw_event_enqueue_forward_burst;
-	dev->dequeue = dsw_event_dequeue;
 	dev->dequeue_burst = dsw_event_dequeue_burst;
 	dev->maintain = dsw_event_maintain;
 
diff --git a/drivers/event/dsw/dsw_evdev.h b/drivers/event/dsw/dsw_evdev.h
index e05cee0e6a..ce52498435 100644
--- a/drivers/event/dsw/dsw_evdev.h
+++ b/drivers/event/dsw/dsw_evdev.h
@@ -270,7 +270,6 @@ struct __rte_aligned(4) dsw_ctl_msg {
 	struct dsw_queue_flow qfs[DSW_MAX_FLOWS_PER_MIGRATION];
 };
 
-uint16_t dsw_event_enqueue(void *port, const struct rte_event *event);
 uint16_t dsw_event_enqueue_burst(void *port,
 				 const struct rte_event events[],
 				 uint16_t events_len);
@@ -281,7 +280,6 @@ uint16_t dsw_event_enqueue_forward_burst(void *port,
 					 const struct rte_event events[],
 					 uint16_t events_len);
 
-uint16_t dsw_event_dequeue(void *port, struct rte_event *ev, uint64_t wait);
 uint16_t dsw_event_dequeue_burst(void *port, struct rte_event *events,
 				 uint16_t num, uint64_t wait);
 void dsw_event_maintain(void *port, int op);
diff --git a/drivers/event/dsw/dsw_event.c b/drivers/event/dsw/dsw_event.c
index 6eeeb6da93..e68fb19890 100644
--- a/drivers/event/dsw/dsw_event.c
+++ b/drivers/event/dsw/dsw_event.c
@@ -1323,12 +1323,6 @@ dsw_port_flush_out_buffers(struct dsw_evdev *dsw, struct dsw_port *source_port)
 		dsw_port_transmit_buffered(dsw, source_port, dest_port_id);
 }
 
-uint16_t
-dsw_event_enqueue(void *port, const struct rte_event *ev)
-{
-	return dsw_event_enqueue_burst(port, ev, unlikely(ev == NULL) ? 0 : 1);
-}
-
 static __rte_always_inline uint16_t
 dsw_event_enqueue_burst_generic(struct dsw_port *source_port,
 				const struct rte_event events[],
@@ -1462,12 +1456,6 @@ dsw_event_enqueue_forward_burst(void *port, const struct rte_event events[],
 					       events_len, 0);
 }
 
-uint16_t
-dsw_event_dequeue(void *port, struct rte_event *events, uint64_t wait)
-{
-	return dsw_event_dequeue_burst(port, events, 1, wait);
-}
-
 static void
 dsw_port_record_seen_events(struct dsw_port *port, struct rte_event *events,
 			    uint16_t num)
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC 02/10] event/dlb2: remove single event enqueue and dequeue
  2024-10-15  8:49 [RFC 00/10] eventdev: remove single-event enqueue and dequeue Mattias Rönnblom
  2024-10-15  8:49 ` [RFC 01/10] event/dsw: remove single event " Mattias Rönnblom
@ 2024-10-15  8:49 ` Mattias Rönnblom
  2024-10-15  8:49 ` [RFC 03/10] event/cnxk: " Mattias Rönnblom
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15  8:49 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/dlb2/dlb2.c | 33 ++-------------------------------
 1 file changed, 2 insertions(+), 31 deletions(-)

diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c
index 09e4107824..e4400b1bc2 100644
--- a/drivers/event/dlb2/dlb2.c
+++ b/drivers/event/dlb2/dlb2.c
@@ -1483,10 +1483,6 @@ dlb2_init_qe_mem(struct dlb2_port *qm_port, char *mz_name)
 	return ret;
 }
 
-static inline uint16_t
-dlb2_event_enqueue_delayed(void *event_port,
-			   const struct rte_event events[]);
-
 static inline uint16_t
 dlb2_event_enqueue_burst_delayed(void *event_port,
 				 const struct rte_event events[],
@@ -1662,7 +1658,6 @@ dlb2_hw_create_ldb_port(struct dlb2_eventdev *dlb2,
 	 * performance reasons.
 	 */
 	if (qm_port->token_pop_mode == DELAYED_POP) {
-		dlb2->event_dev->enqueue = dlb2_event_enqueue_delayed;
 		dlb2->event_dev->enqueue_burst =
 			dlb2_event_enqueue_burst_delayed;
 		dlb2->event_dev->enqueue_new_burst =
@@ -3304,13 +3299,6 @@ dlb2_event_enqueue_burst_delayed(void *event_port,
 	return __dlb2_event_enqueue_burst(event_port, events, num, true);
 }
 
-static inline uint16_t
-dlb2_event_enqueue(void *event_port,
-		   const struct rte_event events[])
-{
-	return __dlb2_event_enqueue_burst(event_port, events, 1, false);
-}
-
 static inline uint16_t
 dlb2_event_enqueue_delayed(void *event_port,
 			   const struct rte_event events[])
@@ -4312,12 +4300,6 @@ dlb2_event_dequeue_burst(void *event_port, struct rte_event *ev, uint16_t num,
 	return cnt;
 }
 
-static uint16_t
-dlb2_event_dequeue(void *event_port, struct rte_event *ev, uint64_t wait)
-{
-	return dlb2_event_dequeue_burst(event_port, ev, 1, wait);
-}
-
 static uint16_t
 dlb2_event_dequeue_burst_sparse(void *event_port, struct rte_event *ev,
 				uint16_t num, uint64_t wait)
@@ -4375,13 +4357,6 @@ dlb2_event_dequeue_burst_sparse(void *event_port, struct rte_event *ev,
 	return cnt;
 }
 
-static uint16_t
-dlb2_event_dequeue_sparse(void *event_port, struct rte_event *ev,
-			  uint64_t wait)
-{
-	return dlb2_event_dequeue_burst_sparse(event_port, ev, 1, wait);
-}
-
 static void
 dlb2_flush_port(struct rte_eventdev *dev, int port_id)
 {
@@ -4693,19 +4668,15 @@ dlb2_entry_points_init(struct rte_eventdev *dev)
 	/* Expose PMD's eventdev interface */
 
 	dev->dev_ops = &dlb2_eventdev_entry_ops;
-	dev->enqueue = dlb2_event_enqueue;
 	dev->enqueue_burst = dlb2_event_enqueue_burst;
 	dev->enqueue_new_burst = dlb2_event_enqueue_new_burst;
 	dev->enqueue_forward_burst = dlb2_event_enqueue_forward_burst;
 
 	dlb2 = dev->data->dev_private;
-	if (dlb2->poll_mode == DLB2_CQ_POLL_MODE_SPARSE) {
-		dev->dequeue = dlb2_event_dequeue_sparse;
+	if (dlb2->poll_mode == DLB2_CQ_POLL_MODE_SPARSE)
 		dev->dequeue_burst = dlb2_event_dequeue_burst_sparse;
-	} else {
-		dev->dequeue = dlb2_event_dequeue;
+	else
 		dev->dequeue_burst = dlb2_event_dequeue_burst;
-	}
 }
 
 int
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC 03/10] event/cnxk: remove single event enqueue and dequeue
  2024-10-15  8:49 [RFC 00/10] eventdev: remove single-event enqueue and dequeue Mattias Rönnblom
  2024-10-15  8:49 ` [RFC 01/10] event/dsw: remove single event " Mattias Rönnblom
  2024-10-15  8:49 ` [RFC 02/10] event/dlb2: " Mattias Rönnblom
@ 2024-10-15  8:49 ` Mattias Rönnblom
  2024-10-15  8:49 ` [RFC 04/10] event/octeontx: " Mattias Rönnblom
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15  8:49 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/cnxk/cn10k_eventdev.c |  2 --
 drivers/event/cnxk/cn10k_worker.c   | 49 +++++++++++++----------------
 drivers/event/cnxk/cn10k_worker.h   |  9 ------
 drivers/event/cnxk/cn9k_eventdev.c  |  1 -
 drivers/event/cnxk/cn9k_worker.c    | 26 +++++----------
 drivers/event/cnxk/cn9k_worker.h    | 17 ----------
 6 files changed, 30 insertions(+), 74 deletions(-)

diff --git a/drivers/event/cnxk/cn10k_eventdev.c b/drivers/event/cnxk/cn10k_eventdev.c
index 531c489172..13efe7b50c 100644
--- a/drivers/event/cnxk/cn10k_eventdev.c
+++ b/drivers/event/cnxk/cn10k_eventdev.c
@@ -514,7 +514,6 @@ cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 	cn10k_sso_fp_blk_fns_set(event_dev);
 	cn10k_sso_fp_tmplt_fns_set(event_dev);
 
-	event_dev->enqueue = cn10k_sso_hws_enq;
 	event_dev->enqueue_burst = cn10k_sso_hws_enq_burst;
 	event_dev->enqueue_new_burst = cn10k_sso_hws_enq_new_burst;
 	event_dev->enqueue_forward_burst = cn10k_sso_hws_enq_fwd_burst;
@@ -848,7 +847,6 @@ eventdev_fops_update(struct rte_eventdev *event_dev)
 	struct rte_event_fp_ops *fp_op =
 		rte_event_fp_ops + event_dev->data->dev_id;
 
-	fp_op->dequeue = event_dev->dequeue;
 	fp_op->dequeue_burst = event_dev->dequeue_burst;
 }
 
diff --git a/drivers/event/cnxk/cn10k_worker.c b/drivers/event/cnxk/cn10k_worker.c
index a0e85face1..c49138316c 100644
--- a/drivers/event/cnxk/cn10k_worker.c
+++ b/drivers/event/cnxk/cn10k_worker.c
@@ -107,32 +107,6 @@ sso_lmt_aw_wait_fc(struct cn10k_sso_hws *ws, int64_t req)
 	}
 }
 
-uint16_t __rte_hot
-cn10k_sso_hws_enq(void *port, const struct rte_event *ev)
-{
-	struct cn10k_sso_hws *ws = port;
-
-	switch (ev->op) {
-	case RTE_EVENT_OP_NEW:
-		return cn10k_sso_hws_new_event(ws, ev);
-	case RTE_EVENT_OP_FORWARD:
-		cn10k_sso_hws_forward_event(ws, ev);
-		break;
-	case RTE_EVENT_OP_RELEASE:
-		if (ws->swtag_req) {
-			cnxk_sso_hws_desched(ev->u64, ws->base);
-			ws->swtag_req = 0;
-			break;
-		}
-		cnxk_sso_hws_swtag_flush(ws->base);
-		break;
-	default:
-		return 0;
-	}
-
-	return 1;
-}
-
 #define VECTOR_SIZE_BITS	     0xFFFFFFFFFFF80000ULL
 #define VECTOR_GET_LINE_OFFSET(line) (19 + (3 * line))
 
@@ -384,8 +358,29 @@ uint16_t __rte_hot
 cn10k_sso_hws_enq_burst(void *port, const struct rte_event ev[],
 			uint16_t nb_events)
 {
+	struct cn10k_sso_hws *ws = port;
+
 	RTE_SET_USED(nb_events);
-	return cn10k_sso_hws_enq(port, ev);
+
+	switch (ev->op) {
+	case RTE_EVENT_OP_NEW:
+		return cn10k_sso_hws_new_event(ws, ev);
+	case RTE_EVENT_OP_FORWARD:
+		cn10k_sso_hws_forward_event(ws, ev);
+		break;
+	case RTE_EVENT_OP_RELEASE:
+		if (ws->swtag_req) {
+			cnxk_sso_hws_desched(ev->u64, ws->base);
+			ws->swtag_req = 0;
+			break;
+		}
+		cnxk_sso_hws_swtag_flush(ws->base);
+		break;
+	default:
+		return 0;
+	}
+
+	return 1;
 }
 
 uint16_t __rte_hot
diff --git a/drivers/event/cnxk/cn10k_worker.h b/drivers/event/cnxk/cn10k_worker.h
index 4785cc6575..4c4ba632f5 100644
--- a/drivers/event/cnxk/cn10k_worker.h
+++ b/drivers/event/cnxk/cn10k_worker.h
@@ -366,7 +366,6 @@ cn10k_sso_hws_get_work_empty(struct cn10k_sso_hws *ws, struct rte_event *ev,
 }
 
 /* CN10K Fastpath functions. */
-uint16_t __rte_hot cn10k_sso_hws_enq(void *port, const struct rte_event *ev);
 uint16_t __rte_hot cn10k_sso_hws_enq_burst(void *port,
 					   const struct rte_event ev[],
 					   uint16_t nb_events);
@@ -381,8 +380,6 @@ int __rte_hot cn10k_sso_hws_preschedule_modify(void *port,
 					       enum rte_event_dev_preschedule_type type);
 
 #define R(name, flags)                                                         \
-	uint16_t __rte_hot cn10k_sso_hws_deq_##name(                           \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn10k_sso_hws_deq_burst_##name(                     \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);                                       \
@@ -421,8 +418,6 @@ int __rte_hot cn10k_sso_hws_preschedule_modify(void *port,
 	uint16_t __rte_hot cn10k_sso_hws_deq_tmo_ca_seg_burst_##name(          \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);                                       \
-	uint16_t __rte_hot cn10k_sso_hws_reas_deq_##name(                      \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn10k_sso_hws_reas_deq_burst_##name(                \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);                                       \
@@ -519,12 +514,8 @@ NIX_RX_FASTPATH_MODES
 		return fn(port, ev, timeout_ticks);                            \
 	}
 
-uint16_t __rte_hot cn10k_sso_hws_deq_all_offload(void *port, struct rte_event *ev,
-						 uint64_t timeout_ticks);
 uint16_t __rte_hot cn10k_sso_hws_deq_burst_all_offload(void *port, struct rte_event ev[],
 						       uint16_t nb_events, uint64_t timeout_ticks);
-uint16_t __rte_hot cn10k_sso_hws_deq_all_offload_tst(void *port, struct rte_event *ev,
-						     uint64_t timeout_ticks);
 uint16_t __rte_hot cn10k_sso_hws_deq_burst_all_offload_tst(void *port, struct rte_event ev[],
 							   uint16_t nb_events,
 							   uint64_t timeout_ticks);
diff --git a/drivers/event/cnxk/cn9k_eventdev.c b/drivers/event/cnxk/cn9k_eventdev.c
index 377e910837..8422f452d2 100644
--- a/drivers/event/cnxk/cn9k_eventdev.c
+++ b/drivers/event/cnxk/cn9k_eventdev.c
@@ -917,7 +917,6 @@ eventdev_fops_tstamp_update(struct rte_eventdev *event_dev)
 	struct rte_event_fp_ops *fp_op =
 		rte_event_fp_ops + event_dev->data->dev_id;
 
-	fp_op->dequeue = event_dev->dequeue;
 	fp_op->dequeue_burst = event_dev->dequeue_burst;
 }
 
diff --git a/drivers/event/cnxk/cn9k_worker.c b/drivers/event/cnxk/cn9k_worker.c
index a9ac49a5a7..86aa3f1c30 100644
--- a/drivers/event/cnxk/cn9k_worker.c
+++ b/drivers/event/cnxk/cn9k_worker.c
@@ -8,10 +8,13 @@
 #include "cn9k_cryptodev_ops.h"
 
 uint16_t __rte_hot
-cn9k_sso_hws_enq(void *port, const struct rte_event *ev)
+cn9k_sso_hws_enq_burst(void *port, const struct rte_event ev[],
+		       uint16_t nb_events)
 {
 	struct cn9k_sso_hws *ws = port;
 
+	RTE_SET_USED(nb_events);
+
 	switch (ev->op) {
 	case RTE_EVENT_OP_NEW:
 		return cn9k_sso_hws_new_event(ws, ev);
@@ -33,14 +36,6 @@ cn9k_sso_hws_enq(void *port, const struct rte_event *ev)
 	return 1;
 }
 
-uint16_t __rte_hot
-cn9k_sso_hws_enq_burst(void *port, const struct rte_event ev[],
-		       uint16_t nb_events)
-{
-	RTE_SET_USED(nb_events);
-	return cn9k_sso_hws_enq(port, ev);
-}
-
 uint16_t __rte_hot
 cn9k_sso_hws_enq_new_burst(void *port, const struct rte_event ev[],
 			   uint16_t nb_events)
@@ -80,11 +75,14 @@ cn9k_sso_hws_profile_switch(void *port, uint8_t profile)
 /* Dual ws ops. */
 
 uint16_t __rte_hot
-cn9k_sso_hws_dual_enq(void *port, const struct rte_event *ev)
+cn9k_sso_hws_dual_enq_burst(void *port, const struct rte_event ev[],
+			    uint16_t nb_events)
 {
 	struct cn9k_sso_hws_dual *dws = port;
 	uint64_t base;
 
+	RTE_SET_USED(nb_events);
+
 	base = dws->base[!dws->vws];
 	switch (ev->op) {
 	case RTE_EVENT_OP_NEW:
@@ -107,14 +105,6 @@ cn9k_sso_hws_dual_enq(void *port, const struct rte_event *ev)
 	return 1;
 }
 
-uint16_t __rte_hot
-cn9k_sso_hws_dual_enq_burst(void *port, const struct rte_event ev[],
-			    uint16_t nb_events)
-{
-	RTE_SET_USED(nb_events);
-	return cn9k_sso_hws_dual_enq(port, ev);
-}
-
 uint16_t __rte_hot
 cn9k_sso_hws_dual_enq_new_burst(void *port, const struct rte_event ev[],
 				uint16_t nb_events)
diff --git a/drivers/event/cnxk/cn9k_worker.h b/drivers/event/cnxk/cn9k_worker.h
index c92fa72f11..dfbd1de99f 100644
--- a/drivers/event/cnxk/cn9k_worker.h
+++ b/drivers/event/cnxk/cn9k_worker.h
@@ -359,7 +359,6 @@ cn9k_sso_hws_get_work_empty(uint64_t base, struct rte_event *ev,
 }
 
 /* CN9K Fastpath functions. */
-uint16_t __rte_hot cn9k_sso_hws_enq(void *port, const struct rte_event *ev);
 uint16_t __rte_hot cn9k_sso_hws_enq_burst(void *port,
 					  const struct rte_event ev[],
 					  uint16_t nb_events);
@@ -371,8 +370,6 @@ uint16_t __rte_hot cn9k_sso_hws_enq_fwd_burst(void *port,
 					      uint16_t nb_events);
 int __rte_hot cn9k_sso_hws_profile_switch(void *port, uint8_t profile);
 
-uint16_t __rte_hot cn9k_sso_hws_dual_enq(void *port,
-					 const struct rte_event *ev);
 uint16_t __rte_hot cn9k_sso_hws_dual_enq_burst(void *port,
 					       const struct rte_event ev[],
 					       uint16_t nb_events);
@@ -451,8 +448,6 @@ NIX_RX_FASTPATH_MODES
 #define SSO_DEQ_TMO_SEG(fn, flags)    SSO_DEQ_TMO(fn, flags | NIX_RX_MULTI_SEG_F)
 
 #define R(name, flags)                                                         \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_##name(                       \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn9k_sso_hws_dual_deq_burst_##name(                 \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);                                       \
@@ -542,12 +537,6 @@ NIX_RX_FASTPATH_MODES
 		return fn(port, ev, timeout_ticks);                            \
 	}
 
-uint16_t __rte_hot cn9k_sso_hws_deq_all_offload(void *port, struct rte_event *ev,
-						uint64_t timeout_ticks);
-
-uint16_t __rte_hot cn9k_sso_hws_deq_dual_all_offload(void *port, struct rte_event *ev,
-						     uint64_t timeout_ticks);
-
 uint16_t __rte_hot cn9k_sso_hws_deq_burst_all_offload(void *port, struct rte_event ev[],
 						      uint16_t nb_events, uint64_t timeout_ticks);
 
@@ -555,12 +544,6 @@ uint16_t __rte_hot cn9k_sso_hws_deq_dual_burst_all_offload(void *port, struct rt
 							   uint16_t nb_events,
 							   uint64_t timeout_ticks);
 
-uint16_t __rte_hot cn9k_sso_hws_deq_all_offload_tst(void *port, struct rte_event *ev,
-						    uint64_t timeout_ticks);
-
-uint16_t __rte_hot cn9k_sso_hws_deq_dual_all_offload_tst(void *port, struct rte_event *ev,
-							 uint64_t timeout_ticks);
-
 uint16_t __rte_hot cn9k_sso_hws_deq_burst_all_offload_tst(void *port, struct rte_event ev[],
 							  uint16_t nb_events,
 							  uint64_t timeout_ticks);
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC 04/10] event/octeontx: remove single event enqueue and dequeue
  2024-10-15  8:49 [RFC 00/10] eventdev: remove single-event enqueue and dequeue Mattias Rönnblom
                   ` (2 preceding siblings ...)
  2024-10-15  8:49 ` [RFC 03/10] event/cnxk: " Mattias Rönnblom
@ 2024-10-15  8:49 ` Mattias Rönnblom
  2024-10-15  8:49 ` [RFC 05/10] event/sw: " Mattias Rönnblom
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15  8:49 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/octeontx/ssovf_evdev.h  |  1 -
 drivers/event/octeontx/ssovf_worker.c | 40 +++------------------------
 2 files changed, 4 insertions(+), 37 deletions(-)

diff --git a/drivers/event/octeontx/ssovf_evdev.h b/drivers/event/octeontx/ssovf_evdev.h
index 1997626438..0f81115a37 100644
--- a/drivers/event/octeontx/ssovf_evdev.h
+++ b/drivers/event/octeontx/ssovf_evdev.h
@@ -172,7 +172,6 @@ ssovf_pmd_priv(const struct rte_eventdev *eventdev)
 extern int otx_logtype_ssovf;
 #define RTE_LOGTYPE_OTX_SSOVF otx_logtype_ssovf
 
-uint16_t ssows_enq(void *port, const struct rte_event *ev);
 uint16_t ssows_enq_burst(void *port,
 		const struct rte_event ev[], uint16_t nb_events);
 uint16_t ssows_enq_new_burst(void *port,
diff --git a/drivers/event/octeontx/ssovf_worker.c b/drivers/event/octeontx/ssovf_worker.c
index 36454939ea..89b5dc056c 100644
--- a/drivers/event/octeontx/ssovf_worker.c
+++ b/drivers/event/octeontx/ssovf_worker.c
@@ -148,12 +148,14 @@ ssows_deq_timeout_burst_ ##name(void *port, struct rte_event ev[],	     \
 SSO_RX_ADPTR_ENQ_FASTPATH_FUNC
 #undef R
 
-__rte_always_inline uint16_t __rte_hot
-ssows_enq(void *port, const struct rte_event *ev)
+uint16_t __rte_hot
+ssows_enq_burst(void *port, const struct rte_event ev[], uint16_t nb_events)
 {
 	struct ssows *ws = port;
 	uint16_t ret = 1;
 
+	RTE_SET_USED(nb_events);
+
 	switch (ev->op) {
 	case RTE_EVENT_OP_NEW:
 		rte_smp_wmb();
@@ -171,13 +173,6 @@ ssows_enq(void *port, const struct rte_event *ev)
 	return ret;
 }
 
-uint16_t __rte_hot
-ssows_enq_burst(void *port, const struct rte_event ev[], uint16_t nb_events)
-{
-	RTE_SET_USED(nb_events);
-	return ssows_enq(port, ev);
-}
-
 uint16_t __rte_hot
 ssows_enq_new_burst(void *port, const struct rte_event ev[], uint16_t nb_events)
 {
@@ -336,7 +331,6 @@ ssovf_fastpath_fns_set(struct rte_eventdev *dev)
 {
 	struct ssovf_evdev *edev = ssovf_pmd_priv(dev);
 
-	dev->enqueue       = ssows_enq;
 	dev->enqueue_burst = ssows_enq_burst;
 	dev->enqueue_new_burst = ssows_enq_new_burst;
 	dev->enqueue_forward_burst = ssows_enq_fwd_burst;
@@ -360,19 +354,6 @@ ssovf_fastpath_fns_set(struct rte_eventdev *dev)
 	dev->txa_enqueue_same_dest = dev->txa_enqueue;
 
 	/* Assigning dequeue func pointers */
-	const event_dequeue_t ssow_deq[2][2][2] = {
-#define R(name, f2, f1, f0, flags)					\
-	[f2][f1][f0] =  ssows_deq_ ##name,
-
-SSO_RX_ADPTR_ENQ_FASTPATH_FUNC
-#undef R
-	};
-
-	dev->dequeue = ssow_deq
-		[!!(edev->rx_offload_flags & OCCTX_RX_VLAN_FLTR_F)]
-		[!!(edev->rx_offload_flags & OCCTX_RX_OFFLOAD_CSUM_F)]
-		[!!(edev->rx_offload_flags & OCCTX_RX_MULTI_SEG_F)];
-
 	const event_dequeue_burst_t ssow_deq_burst[2][2][2] = {
 #define R(name, f2, f1, f0, flags)					\
 	[f2][f1][f0] =  ssows_deq_burst_ ##name,
@@ -387,19 +368,6 @@ SSO_RX_ADPTR_ENQ_FASTPATH_FUNC
 		[!!(edev->rx_offload_flags & OCCTX_RX_MULTI_SEG_F)];
 
 	if (edev->is_timeout_deq) {
-		const event_dequeue_t ssow_deq_timeout[2][2][2] = {
-#define R(name, f2, f1, f0, flags)					\
-	[f2][f1][f0] =  ssows_deq_timeout_ ##name,
-
-SSO_RX_ADPTR_ENQ_FASTPATH_FUNC
-#undef R
-		};
-
-	dev->dequeue = ssow_deq_timeout
-		[!!(edev->rx_offload_flags & OCCTX_RX_VLAN_FLTR_F)]
-		[!!(edev->rx_offload_flags & OCCTX_RX_OFFLOAD_CSUM_F)]
-		[!!(edev->rx_offload_flags & OCCTX_RX_MULTI_SEG_F)];
-
 	const event_dequeue_burst_t ssow_deq_timeout_burst[2][2][2] = {
 #define R(name, f2, f1, f0, flags)					\
 	[f2][f1][f0] =  ssows_deq_timeout_burst_ ##name,
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC 05/10] event/sw: remove single event enqueue and dequeue
  2024-10-15  8:49 [RFC 00/10] eventdev: remove single-event enqueue and dequeue Mattias Rönnblom
                   ` (3 preceding siblings ...)
  2024-10-15  8:49 ` [RFC 04/10] event/octeontx: " Mattias Rönnblom
@ 2024-10-15  8:49 ` Mattias Rönnblom
  2024-10-15  8:49 ` [RFC 06/10] event/dpaa: " Mattias Rönnblom
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15  8:49 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/sw/sw_evdev.c        |  2 --
 drivers/event/sw/sw_evdev.h        |  2 --
 drivers/event/sw/sw_evdev_worker.c | 12 ------------
 3 files changed, 16 deletions(-)

diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index 7913bc547e..3ad82e94ac 100644
--- a/drivers/event/sw/sw_evdev.c
+++ b/drivers/event/sw/sw_evdev.c
@@ -1081,11 +1081,9 @@ sw_probe(struct rte_vdev_device *vdev)
 		return -EFAULT;
 	}
 	dev->dev_ops = &evdev_sw_ops;
-	dev->enqueue = sw_event_enqueue;
 	dev->enqueue_burst = sw_event_enqueue_burst;
 	dev->enqueue_new_burst = sw_event_enqueue_burst;
 	dev->enqueue_forward_burst = sw_event_enqueue_burst;
-	dev->dequeue = sw_event_dequeue;
 	dev->dequeue_burst = sw_event_dequeue_burst;
 
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
diff --git a/drivers/event/sw/sw_evdev.h b/drivers/event/sw/sw_evdev.h
index c6e649c70a..f617c7d966 100644
--- a/drivers/event/sw/sw_evdev.h
+++ b/drivers/event/sw/sw_evdev.h
@@ -288,11 +288,9 @@ sw_pmd_priv_const(const struct rte_eventdev *eventdev)
 	return eventdev->data->dev_private;
 }
 
-uint16_t sw_event_enqueue(void *port, const struct rte_event *ev);
 uint16_t sw_event_enqueue_burst(void *port, const struct rte_event ev[],
 		uint16_t num);
 
-uint16_t sw_event_dequeue(void *port, struct rte_event *ev, uint64_t wait);
 uint16_t sw_event_dequeue_burst(void *port, struct rte_event *ev, uint16_t num,
 			uint64_t wait);
 int32_t sw_event_schedule(struct rte_eventdev *dev);
diff --git a/drivers/event/sw/sw_evdev_worker.c b/drivers/event/sw/sw_evdev_worker.c
index 063b919c7e..4215726513 100644
--- a/drivers/event/sw/sw_evdev_worker.c
+++ b/drivers/event/sw/sw_evdev_worker.c
@@ -131,12 +131,6 @@ sw_event_enqueue_burst(void *port, const struct rte_event ev[], uint16_t num)
 	return enq;
 }
 
-uint16_t
-sw_event_enqueue(void *port, const struct rte_event *ev)
-{
-	return sw_event_enqueue_burst(port, ev, 1);
-}
-
 uint16_t
 sw_event_dequeue_burst(void *port, struct rte_event *ev, uint16_t num,
 		uint64_t wait)
@@ -178,9 +172,3 @@ sw_event_dequeue_burst(void *port, struct rte_event *ev, uint16_t num,
 end:
 	return ndeq;
 }
-
-uint16_t
-sw_event_dequeue(void *port, struct rte_event *ev, uint64_t wait)
-{
-	return sw_event_dequeue_burst(port, ev, 1, wait);
-}
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC 06/10] event/dpaa: remove single event enqueue and dequeue
  2024-10-15  8:49 [RFC 00/10] eventdev: remove single-event enqueue and dequeue Mattias Rönnblom
                   ` (4 preceding siblings ...)
  2024-10-15  8:49 ` [RFC 05/10] event/sw: " Mattias Rönnblom
@ 2024-10-15  8:49 ` Mattias Rönnblom
  2024-10-15  8:49 ` [RFC 07/10] event/dpaa2: " Mattias Rönnblom
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15  8:49 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/dpaa/dpaa_eventdev.c | 27 ++-------------------------
 1 file changed, 2 insertions(+), 25 deletions(-)

diff --git a/drivers/event/dpaa/dpaa_eventdev.c b/drivers/event/dpaa/dpaa_eventdev.c
index 85ccb586ef..853cc1ecf9 100644
--- a/drivers/event/dpaa/dpaa_eventdev.c
+++ b/drivers/event/dpaa/dpaa_eventdev.c
@@ -113,12 +113,6 @@ dpaa_event_enqueue_burst(void *port, const struct rte_event ev[],
 	return nb_events;
 }
 
-static uint16_t
-dpaa_event_enqueue(void *port, const struct rte_event *ev)
-{
-	return dpaa_event_enqueue_burst(port, ev, 1);
-}
-
 static void drain_4_bytes(int fd, fd_set *fdset)
 {
 	if (FD_ISSET(fd, fdset)) {
@@ -233,12 +227,6 @@ dpaa_event_dequeue_burst(void *port, struct rte_event ev[],
 	return num_frames;
 }
 
-static uint16_t
-dpaa_event_dequeue(void *port, struct rte_event *ev, uint64_t timeout_ticks)
-{
-	return dpaa_event_dequeue_burst(port, ev, 1, timeout_ticks);
-}
-
 static uint16_t
 dpaa_event_dequeue_burst_intr(void *port, struct rte_event ev[],
 			      uint16_t nb_events, uint64_t timeout_ticks)
@@ -311,14 +299,6 @@ dpaa_event_dequeue_burst_intr(void *port, struct rte_event ev[],
 	return num_frames;
 }
 
-static uint16_t
-dpaa_event_dequeue_intr(void *port,
-			struct rte_event *ev,
-			uint64_t timeout_ticks)
-{
-	return dpaa_event_dequeue_burst_intr(port, ev, 1, timeout_ticks);
-}
-
 static void
 dpaa_event_dev_info_get(struct rte_eventdev *dev,
 			struct rte_event_dev_info *dev_info)
@@ -1012,17 +992,14 @@ dpaa_event_dev_create(const char *name, const char *params, struct rte_vdev_devi
 	priv = eventdev->data->dev_private;
 
 	eventdev->dev_ops       = &dpaa_eventdev_ops;
-	eventdev->enqueue       = dpaa_event_enqueue;
 	eventdev->enqueue_burst = dpaa_event_enqueue_burst;
 
-	if (dpaa_event_check_flags(params)) {
-		eventdev->dequeue	= dpaa_event_dequeue;
+	if (dpaa_event_check_flags(params))
 		eventdev->dequeue_burst = dpaa_event_dequeue_burst;
-	} else {
+	else {
 		priv->intr_mode = 1;
 		eventdev->dev_ops->timeout_ticks =
 				dpaa_event_dequeue_timeout_ticks_intr;
-		eventdev->dequeue	= dpaa_event_dequeue_intr;
 		eventdev->dequeue_burst = dpaa_event_dequeue_burst_intr;
 	}
 	eventdev->txa_enqueue = dpaa_eventdev_txa_enqueue;
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC 07/10] event/dpaa2: remove single event enqueue and dequeue
  2024-10-15  8:49 [RFC 00/10] eventdev: remove single-event enqueue and dequeue Mattias Rönnblom
                   ` (5 preceding siblings ...)
  2024-10-15  8:49 ` [RFC 06/10] event/dpaa: " Mattias Rönnblom
@ 2024-10-15  8:49 ` Mattias Rönnblom
  2024-10-15  8:49 ` [RFC 08/10] event/opdl: " Mattias Rönnblom
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15  8:49 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/dpaa2/dpaa2_eventdev.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/event/dpaa2/dpaa2_eventdev.c b/drivers/event/dpaa2/dpaa2_eventdev.c
index f0b2c7de99..5ea179c988 100644
--- a/drivers/event/dpaa2/dpaa2_eventdev.c
+++ b/drivers/event/dpaa2/dpaa2_eventdev.c
@@ -1105,11 +1105,9 @@ dpaa2_eventdev_create(const char *name, struct rte_vdev_device *vdev)
 	}
 
 	eventdev->dev_ops       = &dpaa2_eventdev_ops;
-	eventdev->enqueue       = dpaa2_eventdev_enqueue;
 	eventdev->enqueue_burst = dpaa2_eventdev_enqueue_burst;
 	eventdev->enqueue_new_burst = dpaa2_eventdev_enqueue_burst;
 	eventdev->enqueue_forward_burst = dpaa2_eventdev_enqueue_burst;
-	eventdev->dequeue       = dpaa2_eventdev_dequeue;
 	eventdev->dequeue_burst = dpaa2_eventdev_dequeue_burst;
 	eventdev->txa_enqueue	= dpaa2_eventdev_txa_enqueue;
 	eventdev->txa_enqueue_same_dest	= dpaa2_eventdev_txa_enqueue_same_dest;
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC 08/10] event/opdl: remove single event enqueue and dequeue
  2024-10-15  8:49 [RFC 00/10] eventdev: remove single-event enqueue and dequeue Mattias Rönnblom
                   ` (6 preceding siblings ...)
  2024-10-15  8:49 ` [RFC 07/10] event/dpaa2: " Mattias Rönnblom
@ 2024-10-15  8:49 ` Mattias Rönnblom
  2024-10-15  8:49 ` [RFC 09/10] event/skeleton: " Mattias Rönnblom
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15  8:49 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/opdl/opdl_evdev.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/event/opdl/opdl_evdev.c b/drivers/event/opdl/opdl_evdev.c
index 25853166bf..ffa65ef930 100644
--- a/drivers/event/opdl/opdl_evdev.c
+++ b/drivers/event/opdl/opdl_evdev.c
@@ -718,11 +718,9 @@ opdl_probe(struct rte_vdev_device *vdev)
 
 	dev->dev_ops = &evdev_opdl_ops;
 
-	dev->enqueue = opdl_event_enqueue;
 	dev->enqueue_burst = opdl_event_enqueue_burst;
 	dev->enqueue_new_burst = opdl_event_enqueue_burst;
 	dev->enqueue_forward_burst = opdl_event_enqueue_burst;
-	dev->dequeue = opdl_event_dequeue;
 	dev->dequeue_burst = opdl_event_dequeue_burst;
 
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC 09/10] event/skeleton: remove single event enqueue and dequeue
  2024-10-15  8:49 [RFC 00/10] eventdev: remove single-event enqueue and dequeue Mattias Rönnblom
                   ` (7 preceding siblings ...)
  2024-10-15  8:49 ` [RFC 08/10] event/opdl: " Mattias Rönnblom
@ 2024-10-15  8:49 ` 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
  10 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15  8:49 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/skeleton/skeleton_eventdev.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/event/skeleton/skeleton_eventdev.c b/drivers/event/skeleton/skeleton_eventdev.c
index 848b3be82c..5da8229871 100644
--- a/drivers/event/skeleton/skeleton_eventdev.c
+++ b/drivers/event/skeleton/skeleton_eventdev.c
@@ -350,9 +350,7 @@ skeleton_eventdev_init(struct rte_eventdev *eventdev)
 	PMD_DRV_FUNC_TRACE();
 
 	eventdev->dev_ops       = &skeleton_eventdev_ops;
-	eventdev->enqueue       = skeleton_eventdev_enqueue;
 	eventdev->enqueue_burst = skeleton_eventdev_enqueue_burst;
-	eventdev->dequeue       = skeleton_eventdev_dequeue;
 	eventdev->dequeue_burst = skeleton_eventdev_dequeue_burst;
 
 	/* For secondary processes, the primary has done all the work */
@@ -440,9 +438,7 @@ skeleton_eventdev_create(const char *name, int socket_id, struct rte_vdev_device
 	}
 
 	eventdev->dev_ops       = &skeleton_eventdev_ops;
-	eventdev->enqueue       = skeleton_eventdev_enqueue;
 	eventdev->enqueue_burst = skeleton_eventdev_enqueue_burst;
-	eventdev->dequeue       = skeleton_eventdev_dequeue;
 	eventdev->dequeue_burst = skeleton_eventdev_dequeue_burst;
 
 	event_dev_probing_finish(eventdev);
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC 10/10] eventdev: remove single event enqueue and dequeue
  2024-10-15  8:49 [RFC 00/10] eventdev: remove single-event enqueue and dequeue Mattias Rönnblom
                   ` (8 preceding siblings ...)
  2024-10-15  8:49 ` [RFC 09/10] event/skeleton: " Mattias Rönnblom
@ 2024-10-15  8:49 ` Mattias Rönnblom
  2024-10-15 17:07 ` [RFC 00/10] eventdev: remove single-event " Stephen Hemminger
  10 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15  8:49 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Mattias Rönnblom

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


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC 00/10] eventdev: remove single-event enqueue and dequeue
  2024-10-15  8:49 [RFC 00/10] eventdev: remove single-event enqueue and dequeue Mattias Rönnblom
                   ` (9 preceding siblings ...)
  2024-10-15  8:49 ` [RFC 10/10] eventdev: " Mattias Rönnblom
@ 2024-10-15 17:07 ` Stephen Hemminger
  2024-10-15 18:38   ` Mattias Rönnblom
  10 siblings, 1 reply; 39+ messages in thread
From: Stephen Hemminger @ 2024-10-15 17:07 UTC (permalink / raw)
  To: Mattias Rönnblom
  Cc: Jerin Jacob, dev, Mattias Rönnblom, David Marchand

On Tue, 15 Oct 2024 10:49:33 +0200
Mattias Rönnblom <mattias.ronnblom@ericsson.com> wrote:

> Remove the single-event enqueue and dequeue functions from the
> eventdev "ops" struct, to reduce complexity, leaving performance
> unaffected.
> 
> This ABI change has been announced as a DPDK deprication notice,
> originally scheduled for DPDK 23.11.
> 
> Mattias Rönnblom (10):
>   event/dsw: remove single event enqueue and dequeue
>   event/dlb2: remove single event enqueue and dequeue
>   event/cnxk: remove single event enqueue and dequeue
>   event/octeontx: remove single event enqueue and dequeue
>   event/sw: remove single event enqueue and dequeue
>   event/dpaa: remove single event enqueue and dequeue
>   event/dpaa2: remove single event enqueue and dequeue
>   event/opdl: remove single event enqueue and dequeue
>   event/skeleton: remove single event enqueue and dequeue
>   eventdev: remove single event enqueue and dequeue
> 
>  doc/guides/rel_notes/deprecation.rst       |  6 +--
>  drivers/event/cnxk/cn10k_eventdev.c        |  2 -
>  drivers/event/cnxk/cn10k_worker.c          | 49 ++++++++++------------
>  drivers/event/cnxk/cn10k_worker.h          |  9 ----
>  drivers/event/cnxk/cn9k_eventdev.c         |  1 -
>  drivers/event/cnxk/cn9k_worker.c           | 26 ++++--------
>  drivers/event/cnxk/cn9k_worker.h           | 17 --------
>  drivers/event/dlb2/dlb2.c                  | 33 +--------------
>  drivers/event/dpaa/dpaa_eventdev.c         | 27 +-----------
>  drivers/event/dpaa2/dpaa2_eventdev.c       |  2 -
>  drivers/event/dsw/dsw_evdev.c              |  2 -
>  drivers/event/dsw/dsw_evdev.h              |  2 -
>  drivers/event/dsw/dsw_event.c              | 12 ------
>  drivers/event/octeontx/ssovf_evdev.h       |  1 -
>  drivers/event/octeontx/ssovf_worker.c      | 40 ++----------------
>  drivers/event/opdl/opdl_evdev.c            |  2 -
>  drivers/event/skeleton/skeleton_eventdev.c |  4 --
>  drivers/event/sw/sw_evdev.c                |  2 -
>  drivers/event/sw/sw_evdev.h                |  2 -
>  drivers/event/sw/sw_evdev_worker.c         | 12 ------
>  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 --
>  24 files changed, 43 insertions(+), 259 deletions(-)

Looks good always like to see code removed.

You missed one place though.


*Build Failed #1:
OS: RHEL94-64
Target: x86_64-native-linuxapp-clang
FAILED: drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o 
clang -Idrivers/libtmp_rte_event_dlb2.a.p -Idrivers -I../drivers -Idrivers/event/dlb2 -I../drivers/event/dlb2 -Ilib/eventdev -I../lib/eventdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/ring -I../lib/ring -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/meter -I../lib/meter -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/timer -I../lib/timer -Ilib/cryptodev -I../lib/cryptodev -Ilib/dmadev -I../lib/dmadev -Ilib/pci -I../lib/pci -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -DCC_AVX512_SUPPORT -DRTE_LOG_DEFAULT_LOGTYPE=pmd.event.dlb2 -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o -MF drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o.d -o drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o -c ../drivers/event/dlb2/dlb2.c
../drivers/event/dlb2/dlb2.c:3303:1: error: unused function 'dlb2_event_enqueue_delayed' [-Werror,-Wunused-function]
 3303 | dlb2_event_enqueue_delayed(void *event_port,
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[2373/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2_iface.c.o
[2374/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2_xstats.c.o
[2375/3000] Compiling C object drivers/event/dlb2/libavx512_tmp.a.p/dlb2_avx512.c.o
[2376/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_rte_pmd_dlb2.c.o
[2377/3000] Compiling C object drivers/libtmp_rte_event_cnxk.a.p/event_cnxk_cn10k_eventdev.c.o
[2378/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o
[2379/3000] Compiling C object drivers/libtmp_rte_event_dpaa.a.p/event_dpaa_dpaa_eventdev.c.o
[2380/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2_selftest.c.o
[2381/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_base_dlb2_resource.c.o
ninja: build stopped

^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v2 00/10] eventdev: remove single-event enqueue and dequeue
  2024-10-15  8:49 ` [RFC 01/10] event/dsw: remove single event " Mattias Rönnblom
@ 2024-10-15 18:25   ` Mattias Rönnblom
  2024-10-15 18:25     ` [RFC v2 01/10] event/dsw: remove single event " Mattias Rönnblom
                       ` (9 more replies)
  0 siblings, 10 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15 18:25 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Remove the single-event enqueue and dequeue functions from the
eventdev "ops" struct, to reduce complexity, leaving performance
unaffected.

This ABI change has been announced as a DPDK deprication notice,
originally scheduled for DPDK 23.11.

Mattias Rönnblom (10):
  event/dsw: remove single event enqueue and dequeue
  event/dlb2: remove single event enqueue and dequeue
  event/cnxk: remove single event enqueue and dequeue
  event/octeontx: remove single event enqueue and dequeue
  event/sw: remove single event enqueue and dequeue
  event/dpaa: remove single event enqueue and dequeue
  event/dpaa2: remove single event enqueue and dequeue
  event/opdl: remove single event enqueue and dequeue
  event/skeleton: remove single event enqueue and dequeue
  eventdev: remove single event enqueue and dequeue

 doc/guides/rel_notes/deprecation.rst       |  6 +--
 drivers/event/cnxk/cn10k_eventdev.c        |  2 -
 drivers/event/cnxk/cn10k_worker.c          | 49 ++++++++++------------
 drivers/event/cnxk/cn10k_worker.h          |  9 ----
 drivers/event/cnxk/cn9k_eventdev.c         |  1 -
 drivers/event/cnxk/cn9k_worker.c           | 26 ++++--------
 drivers/event/cnxk/cn9k_worker.h           | 17 --------
 drivers/event/dlb2/dlb2.c                  | 40 +-----------------
 drivers/event/dpaa/dpaa_eventdev.c         | 27 +-----------
 drivers/event/dpaa2/dpaa2_eventdev.c       | 15 -------
 drivers/event/dsw/dsw_evdev.c              |  2 -
 drivers/event/dsw/dsw_evdev.h              |  2 -
 drivers/event/dsw/dsw_event.c              | 12 ------
 drivers/event/octeontx/ssovf_evdev.h       |  1 -
 drivers/event/octeontx/ssovf_worker.c      | 40 ++----------------
 drivers/event/opdl/opdl_evdev.c            |  2 -
 drivers/event/skeleton/skeleton_eventdev.c | 29 -------------
 drivers/event/sw/sw_evdev.c                |  2 -
 drivers/event/sw/sw_evdev.h                |  2 -
 drivers/event/sw/sw_evdev_worker.c         | 12 ------
 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 --
 24 files changed, 43 insertions(+), 304 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v2 01/10] event/dsw: remove single event enqueue and dequeue
  2024-10-15 18:25   ` [RFC v2 00/10] eventdev: remove single-event " Mattias Rönnblom
@ 2024-10-15 18:25     ` Mattias Rönnblom
  2024-10-17  6:38       ` [RFC v3 00/10] eventdev: remove single-event " Mattias Rönnblom
  2024-10-15 18:25     ` [RFC v2 02/10] event/dlb2: " Mattias Rönnblom
                       ` (8 subsequent siblings)
  9 siblings, 1 reply; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15 18:25 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/dsw/dsw_evdev.c |  2 --
 drivers/event/dsw/dsw_evdev.h |  2 --
 drivers/event/dsw/dsw_event.c | 12 ------------
 3 files changed, 16 deletions(-)

diff --git a/drivers/event/dsw/dsw_evdev.c b/drivers/event/dsw/dsw_evdev.c
index 1df3121b21..e819412639 100644
--- a/drivers/event/dsw/dsw_evdev.c
+++ b/drivers/event/dsw/dsw_evdev.c
@@ -453,11 +453,9 @@ dsw_probe(struct rte_vdev_device *vdev)
 		return -EFAULT;
 
 	dev->dev_ops = &dsw_evdev_ops;
-	dev->enqueue = dsw_event_enqueue;
 	dev->enqueue_burst = dsw_event_enqueue_burst;
 	dev->enqueue_new_burst = dsw_event_enqueue_new_burst;
 	dev->enqueue_forward_burst = dsw_event_enqueue_forward_burst;
-	dev->dequeue = dsw_event_dequeue;
 	dev->dequeue_burst = dsw_event_dequeue_burst;
 	dev->maintain = dsw_event_maintain;
 
diff --git a/drivers/event/dsw/dsw_evdev.h b/drivers/event/dsw/dsw_evdev.h
index e05cee0e6a..ce52498435 100644
--- a/drivers/event/dsw/dsw_evdev.h
+++ b/drivers/event/dsw/dsw_evdev.h
@@ -270,7 +270,6 @@ struct __rte_aligned(4) dsw_ctl_msg {
 	struct dsw_queue_flow qfs[DSW_MAX_FLOWS_PER_MIGRATION];
 };
 
-uint16_t dsw_event_enqueue(void *port, const struct rte_event *event);
 uint16_t dsw_event_enqueue_burst(void *port,
 				 const struct rte_event events[],
 				 uint16_t events_len);
@@ -281,7 +280,6 @@ uint16_t dsw_event_enqueue_forward_burst(void *port,
 					 const struct rte_event events[],
 					 uint16_t events_len);
 
-uint16_t dsw_event_dequeue(void *port, struct rte_event *ev, uint64_t wait);
 uint16_t dsw_event_dequeue_burst(void *port, struct rte_event *events,
 				 uint16_t num, uint64_t wait);
 void dsw_event_maintain(void *port, int op);
diff --git a/drivers/event/dsw/dsw_event.c b/drivers/event/dsw/dsw_event.c
index 6eeeb6da93..e68fb19890 100644
--- a/drivers/event/dsw/dsw_event.c
+++ b/drivers/event/dsw/dsw_event.c
@@ -1323,12 +1323,6 @@ dsw_port_flush_out_buffers(struct dsw_evdev *dsw, struct dsw_port *source_port)
 		dsw_port_transmit_buffered(dsw, source_port, dest_port_id);
 }
 
-uint16_t
-dsw_event_enqueue(void *port, const struct rte_event *ev)
-{
-	return dsw_event_enqueue_burst(port, ev, unlikely(ev == NULL) ? 0 : 1);
-}
-
 static __rte_always_inline uint16_t
 dsw_event_enqueue_burst_generic(struct dsw_port *source_port,
 				const struct rte_event events[],
@@ -1462,12 +1456,6 @@ dsw_event_enqueue_forward_burst(void *port, const struct rte_event events[],
 					       events_len, 0);
 }
 
-uint16_t
-dsw_event_dequeue(void *port, struct rte_event *events, uint64_t wait)
-{
-	return dsw_event_dequeue_burst(port, events, 1, wait);
-}
-
 static void
 dsw_port_record_seen_events(struct dsw_port *port, struct rte_event *events,
 			    uint16_t num)
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v2 02/10] event/dlb2: remove single event enqueue and dequeue
  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-15 18:25     ` Mattias Rönnblom
  2024-10-15 18:25     ` [RFC v2 03/10] event/cnxk: " Mattias Rönnblom
                       ` (7 subsequent siblings)
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15 18:25 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>

--

RFCv2:
 * Remove unused function. (Stephen Hemminger)
---
 drivers/event/dlb2/dlb2.c | 40 ++-------------------------------------
 1 file changed, 2 insertions(+), 38 deletions(-)

diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c
index 09e4107824..934fcafcfe 100644
--- a/drivers/event/dlb2/dlb2.c
+++ b/drivers/event/dlb2/dlb2.c
@@ -1483,10 +1483,6 @@ dlb2_init_qe_mem(struct dlb2_port *qm_port, char *mz_name)
 	return ret;
 }
 
-static inline uint16_t
-dlb2_event_enqueue_delayed(void *event_port,
-			   const struct rte_event events[]);
-
 static inline uint16_t
 dlb2_event_enqueue_burst_delayed(void *event_port,
 				 const struct rte_event events[],
@@ -1662,7 +1658,6 @@ dlb2_hw_create_ldb_port(struct dlb2_eventdev *dlb2,
 	 * performance reasons.
 	 */
 	if (qm_port->token_pop_mode == DELAYED_POP) {
-		dlb2->event_dev->enqueue = dlb2_event_enqueue_delayed;
 		dlb2->event_dev->enqueue_burst =
 			dlb2_event_enqueue_burst_delayed;
 		dlb2->event_dev->enqueue_new_burst =
@@ -3304,20 +3299,6 @@ dlb2_event_enqueue_burst_delayed(void *event_port,
 	return __dlb2_event_enqueue_burst(event_port, events, num, true);
 }
 
-static inline uint16_t
-dlb2_event_enqueue(void *event_port,
-		   const struct rte_event events[])
-{
-	return __dlb2_event_enqueue_burst(event_port, events, 1, false);
-}
-
-static inline uint16_t
-dlb2_event_enqueue_delayed(void *event_port,
-			   const struct rte_event events[])
-{
-	return __dlb2_event_enqueue_burst(event_port, events, 1, true);
-}
-
 static uint16_t
 dlb2_event_enqueue_new_burst(void *event_port,
 			     const struct rte_event events[],
@@ -4312,12 +4293,6 @@ dlb2_event_dequeue_burst(void *event_port, struct rte_event *ev, uint16_t num,
 	return cnt;
 }
 
-static uint16_t
-dlb2_event_dequeue(void *event_port, struct rte_event *ev, uint64_t wait)
-{
-	return dlb2_event_dequeue_burst(event_port, ev, 1, wait);
-}
-
 static uint16_t
 dlb2_event_dequeue_burst_sparse(void *event_port, struct rte_event *ev,
 				uint16_t num, uint64_t wait)
@@ -4375,13 +4350,6 @@ dlb2_event_dequeue_burst_sparse(void *event_port, struct rte_event *ev,
 	return cnt;
 }
 
-static uint16_t
-dlb2_event_dequeue_sparse(void *event_port, struct rte_event *ev,
-			  uint64_t wait)
-{
-	return dlb2_event_dequeue_burst_sparse(event_port, ev, 1, wait);
-}
-
 static void
 dlb2_flush_port(struct rte_eventdev *dev, int port_id)
 {
@@ -4693,19 +4661,15 @@ dlb2_entry_points_init(struct rte_eventdev *dev)
 	/* Expose PMD's eventdev interface */
 
 	dev->dev_ops = &dlb2_eventdev_entry_ops;
-	dev->enqueue = dlb2_event_enqueue;
 	dev->enqueue_burst = dlb2_event_enqueue_burst;
 	dev->enqueue_new_burst = dlb2_event_enqueue_new_burst;
 	dev->enqueue_forward_burst = dlb2_event_enqueue_forward_burst;
 
 	dlb2 = dev->data->dev_private;
-	if (dlb2->poll_mode == DLB2_CQ_POLL_MODE_SPARSE) {
-		dev->dequeue = dlb2_event_dequeue_sparse;
+	if (dlb2->poll_mode == DLB2_CQ_POLL_MODE_SPARSE)
 		dev->dequeue_burst = dlb2_event_dequeue_burst_sparse;
-	} else {
-		dev->dequeue = dlb2_event_dequeue;
+	else
 		dev->dequeue_burst = dlb2_event_dequeue_burst;
-	}
 }
 
 int
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v2 03/10] event/cnxk: remove single event enqueue and dequeue
  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-15 18:25     ` [RFC v2 02/10] event/dlb2: " Mattias Rönnblom
@ 2024-10-15 18:25     ` Mattias Rönnblom
  2024-10-15 18:25     ` [RFC v2 04/10] event/octeontx: " Mattias Rönnblom
                       ` (6 subsequent siblings)
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15 18:25 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/cnxk/cn10k_eventdev.c |  2 --
 drivers/event/cnxk/cn10k_worker.c   | 49 +++++++++++++----------------
 drivers/event/cnxk/cn10k_worker.h   |  9 ------
 drivers/event/cnxk/cn9k_eventdev.c  |  1 -
 drivers/event/cnxk/cn9k_worker.c    | 26 +++++----------
 drivers/event/cnxk/cn9k_worker.h    | 17 ----------
 6 files changed, 30 insertions(+), 74 deletions(-)

diff --git a/drivers/event/cnxk/cn10k_eventdev.c b/drivers/event/cnxk/cn10k_eventdev.c
index 531c489172..13efe7b50c 100644
--- a/drivers/event/cnxk/cn10k_eventdev.c
+++ b/drivers/event/cnxk/cn10k_eventdev.c
@@ -514,7 +514,6 @@ cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 	cn10k_sso_fp_blk_fns_set(event_dev);
 	cn10k_sso_fp_tmplt_fns_set(event_dev);
 
-	event_dev->enqueue = cn10k_sso_hws_enq;
 	event_dev->enqueue_burst = cn10k_sso_hws_enq_burst;
 	event_dev->enqueue_new_burst = cn10k_sso_hws_enq_new_burst;
 	event_dev->enqueue_forward_burst = cn10k_sso_hws_enq_fwd_burst;
@@ -848,7 +847,6 @@ eventdev_fops_update(struct rte_eventdev *event_dev)
 	struct rte_event_fp_ops *fp_op =
 		rte_event_fp_ops + event_dev->data->dev_id;
 
-	fp_op->dequeue = event_dev->dequeue;
 	fp_op->dequeue_burst = event_dev->dequeue_burst;
 }
 
diff --git a/drivers/event/cnxk/cn10k_worker.c b/drivers/event/cnxk/cn10k_worker.c
index a0e85face1..c49138316c 100644
--- a/drivers/event/cnxk/cn10k_worker.c
+++ b/drivers/event/cnxk/cn10k_worker.c
@@ -107,32 +107,6 @@ sso_lmt_aw_wait_fc(struct cn10k_sso_hws *ws, int64_t req)
 	}
 }
 
-uint16_t __rte_hot
-cn10k_sso_hws_enq(void *port, const struct rte_event *ev)
-{
-	struct cn10k_sso_hws *ws = port;
-
-	switch (ev->op) {
-	case RTE_EVENT_OP_NEW:
-		return cn10k_sso_hws_new_event(ws, ev);
-	case RTE_EVENT_OP_FORWARD:
-		cn10k_sso_hws_forward_event(ws, ev);
-		break;
-	case RTE_EVENT_OP_RELEASE:
-		if (ws->swtag_req) {
-			cnxk_sso_hws_desched(ev->u64, ws->base);
-			ws->swtag_req = 0;
-			break;
-		}
-		cnxk_sso_hws_swtag_flush(ws->base);
-		break;
-	default:
-		return 0;
-	}
-
-	return 1;
-}
-
 #define VECTOR_SIZE_BITS	     0xFFFFFFFFFFF80000ULL
 #define VECTOR_GET_LINE_OFFSET(line) (19 + (3 * line))
 
@@ -384,8 +358,29 @@ uint16_t __rte_hot
 cn10k_sso_hws_enq_burst(void *port, const struct rte_event ev[],
 			uint16_t nb_events)
 {
+	struct cn10k_sso_hws *ws = port;
+
 	RTE_SET_USED(nb_events);
-	return cn10k_sso_hws_enq(port, ev);
+
+	switch (ev->op) {
+	case RTE_EVENT_OP_NEW:
+		return cn10k_sso_hws_new_event(ws, ev);
+	case RTE_EVENT_OP_FORWARD:
+		cn10k_sso_hws_forward_event(ws, ev);
+		break;
+	case RTE_EVENT_OP_RELEASE:
+		if (ws->swtag_req) {
+			cnxk_sso_hws_desched(ev->u64, ws->base);
+			ws->swtag_req = 0;
+			break;
+		}
+		cnxk_sso_hws_swtag_flush(ws->base);
+		break;
+	default:
+		return 0;
+	}
+
+	return 1;
 }
 
 uint16_t __rte_hot
diff --git a/drivers/event/cnxk/cn10k_worker.h b/drivers/event/cnxk/cn10k_worker.h
index 4785cc6575..4c4ba632f5 100644
--- a/drivers/event/cnxk/cn10k_worker.h
+++ b/drivers/event/cnxk/cn10k_worker.h
@@ -366,7 +366,6 @@ cn10k_sso_hws_get_work_empty(struct cn10k_sso_hws *ws, struct rte_event *ev,
 }
 
 /* CN10K Fastpath functions. */
-uint16_t __rte_hot cn10k_sso_hws_enq(void *port, const struct rte_event *ev);
 uint16_t __rte_hot cn10k_sso_hws_enq_burst(void *port,
 					   const struct rte_event ev[],
 					   uint16_t nb_events);
@@ -381,8 +380,6 @@ int __rte_hot cn10k_sso_hws_preschedule_modify(void *port,
 					       enum rte_event_dev_preschedule_type type);
 
 #define R(name, flags)                                                         \
-	uint16_t __rte_hot cn10k_sso_hws_deq_##name(                           \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn10k_sso_hws_deq_burst_##name(                     \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);                                       \
@@ -421,8 +418,6 @@ int __rte_hot cn10k_sso_hws_preschedule_modify(void *port,
 	uint16_t __rte_hot cn10k_sso_hws_deq_tmo_ca_seg_burst_##name(          \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);                                       \
-	uint16_t __rte_hot cn10k_sso_hws_reas_deq_##name(                      \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn10k_sso_hws_reas_deq_burst_##name(                \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);                                       \
@@ -519,12 +514,8 @@ NIX_RX_FASTPATH_MODES
 		return fn(port, ev, timeout_ticks);                            \
 	}
 
-uint16_t __rte_hot cn10k_sso_hws_deq_all_offload(void *port, struct rte_event *ev,
-						 uint64_t timeout_ticks);
 uint16_t __rte_hot cn10k_sso_hws_deq_burst_all_offload(void *port, struct rte_event ev[],
 						       uint16_t nb_events, uint64_t timeout_ticks);
-uint16_t __rte_hot cn10k_sso_hws_deq_all_offload_tst(void *port, struct rte_event *ev,
-						     uint64_t timeout_ticks);
 uint16_t __rte_hot cn10k_sso_hws_deq_burst_all_offload_tst(void *port, struct rte_event ev[],
 							   uint16_t nb_events,
 							   uint64_t timeout_ticks);
diff --git a/drivers/event/cnxk/cn9k_eventdev.c b/drivers/event/cnxk/cn9k_eventdev.c
index 377e910837..8422f452d2 100644
--- a/drivers/event/cnxk/cn9k_eventdev.c
+++ b/drivers/event/cnxk/cn9k_eventdev.c
@@ -917,7 +917,6 @@ eventdev_fops_tstamp_update(struct rte_eventdev *event_dev)
 	struct rte_event_fp_ops *fp_op =
 		rte_event_fp_ops + event_dev->data->dev_id;
 
-	fp_op->dequeue = event_dev->dequeue;
 	fp_op->dequeue_burst = event_dev->dequeue_burst;
 }
 
diff --git a/drivers/event/cnxk/cn9k_worker.c b/drivers/event/cnxk/cn9k_worker.c
index a9ac49a5a7..86aa3f1c30 100644
--- a/drivers/event/cnxk/cn9k_worker.c
+++ b/drivers/event/cnxk/cn9k_worker.c
@@ -8,10 +8,13 @@
 #include "cn9k_cryptodev_ops.h"
 
 uint16_t __rte_hot
-cn9k_sso_hws_enq(void *port, const struct rte_event *ev)
+cn9k_sso_hws_enq_burst(void *port, const struct rte_event ev[],
+		       uint16_t nb_events)
 {
 	struct cn9k_sso_hws *ws = port;
 
+	RTE_SET_USED(nb_events);
+
 	switch (ev->op) {
 	case RTE_EVENT_OP_NEW:
 		return cn9k_sso_hws_new_event(ws, ev);
@@ -33,14 +36,6 @@ cn9k_sso_hws_enq(void *port, const struct rte_event *ev)
 	return 1;
 }
 
-uint16_t __rte_hot
-cn9k_sso_hws_enq_burst(void *port, const struct rte_event ev[],
-		       uint16_t nb_events)
-{
-	RTE_SET_USED(nb_events);
-	return cn9k_sso_hws_enq(port, ev);
-}
-
 uint16_t __rte_hot
 cn9k_sso_hws_enq_new_burst(void *port, const struct rte_event ev[],
 			   uint16_t nb_events)
@@ -80,11 +75,14 @@ cn9k_sso_hws_profile_switch(void *port, uint8_t profile)
 /* Dual ws ops. */
 
 uint16_t __rte_hot
-cn9k_sso_hws_dual_enq(void *port, const struct rte_event *ev)
+cn9k_sso_hws_dual_enq_burst(void *port, const struct rte_event ev[],
+			    uint16_t nb_events)
 {
 	struct cn9k_sso_hws_dual *dws = port;
 	uint64_t base;
 
+	RTE_SET_USED(nb_events);
+
 	base = dws->base[!dws->vws];
 	switch (ev->op) {
 	case RTE_EVENT_OP_NEW:
@@ -107,14 +105,6 @@ cn9k_sso_hws_dual_enq(void *port, const struct rte_event *ev)
 	return 1;
 }
 
-uint16_t __rte_hot
-cn9k_sso_hws_dual_enq_burst(void *port, const struct rte_event ev[],
-			    uint16_t nb_events)
-{
-	RTE_SET_USED(nb_events);
-	return cn9k_sso_hws_dual_enq(port, ev);
-}
-
 uint16_t __rte_hot
 cn9k_sso_hws_dual_enq_new_burst(void *port, const struct rte_event ev[],
 				uint16_t nb_events)
diff --git a/drivers/event/cnxk/cn9k_worker.h b/drivers/event/cnxk/cn9k_worker.h
index c92fa72f11..dfbd1de99f 100644
--- a/drivers/event/cnxk/cn9k_worker.h
+++ b/drivers/event/cnxk/cn9k_worker.h
@@ -359,7 +359,6 @@ cn9k_sso_hws_get_work_empty(uint64_t base, struct rte_event *ev,
 }
 
 /* CN9K Fastpath functions. */
-uint16_t __rte_hot cn9k_sso_hws_enq(void *port, const struct rte_event *ev);
 uint16_t __rte_hot cn9k_sso_hws_enq_burst(void *port,
 					  const struct rte_event ev[],
 					  uint16_t nb_events);
@@ -371,8 +370,6 @@ uint16_t __rte_hot cn9k_sso_hws_enq_fwd_burst(void *port,
 					      uint16_t nb_events);
 int __rte_hot cn9k_sso_hws_profile_switch(void *port, uint8_t profile);
 
-uint16_t __rte_hot cn9k_sso_hws_dual_enq(void *port,
-					 const struct rte_event *ev);
 uint16_t __rte_hot cn9k_sso_hws_dual_enq_burst(void *port,
 					       const struct rte_event ev[],
 					       uint16_t nb_events);
@@ -451,8 +448,6 @@ NIX_RX_FASTPATH_MODES
 #define SSO_DEQ_TMO_SEG(fn, flags)    SSO_DEQ_TMO(fn, flags | NIX_RX_MULTI_SEG_F)
 
 #define R(name, flags)                                                         \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_##name(                       \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn9k_sso_hws_dual_deq_burst_##name(                 \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);                                       \
@@ -542,12 +537,6 @@ NIX_RX_FASTPATH_MODES
 		return fn(port, ev, timeout_ticks);                            \
 	}
 
-uint16_t __rte_hot cn9k_sso_hws_deq_all_offload(void *port, struct rte_event *ev,
-						uint64_t timeout_ticks);
-
-uint16_t __rte_hot cn9k_sso_hws_deq_dual_all_offload(void *port, struct rte_event *ev,
-						     uint64_t timeout_ticks);
-
 uint16_t __rte_hot cn9k_sso_hws_deq_burst_all_offload(void *port, struct rte_event ev[],
 						      uint16_t nb_events, uint64_t timeout_ticks);
 
@@ -555,12 +544,6 @@ uint16_t __rte_hot cn9k_sso_hws_deq_dual_burst_all_offload(void *port, struct rt
 							   uint16_t nb_events,
 							   uint64_t timeout_ticks);
 
-uint16_t __rte_hot cn9k_sso_hws_deq_all_offload_tst(void *port, struct rte_event *ev,
-						    uint64_t timeout_ticks);
-
-uint16_t __rte_hot cn9k_sso_hws_deq_dual_all_offload_tst(void *port, struct rte_event *ev,
-							 uint64_t timeout_ticks);
-
 uint16_t __rte_hot cn9k_sso_hws_deq_burst_all_offload_tst(void *port, struct rte_event ev[],
 							  uint16_t nb_events,
 							  uint64_t timeout_ticks);
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v2 04/10] event/octeontx: remove single event enqueue and dequeue
  2024-10-15 18:25   ` [RFC v2 00/10] eventdev: remove single-event " Mattias Rönnblom
                       ` (2 preceding siblings ...)
  2024-10-15 18:25     ` [RFC v2 03/10] event/cnxk: " Mattias Rönnblom
@ 2024-10-15 18:25     ` Mattias Rönnblom
  2024-10-15 18:25     ` [RFC v2 05/10] event/sw: " Mattias Rönnblom
                       ` (5 subsequent siblings)
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15 18:25 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/octeontx/ssovf_evdev.h  |  1 -
 drivers/event/octeontx/ssovf_worker.c | 40 +++------------------------
 2 files changed, 4 insertions(+), 37 deletions(-)

diff --git a/drivers/event/octeontx/ssovf_evdev.h b/drivers/event/octeontx/ssovf_evdev.h
index 1997626438..0f81115a37 100644
--- a/drivers/event/octeontx/ssovf_evdev.h
+++ b/drivers/event/octeontx/ssovf_evdev.h
@@ -172,7 +172,6 @@ ssovf_pmd_priv(const struct rte_eventdev *eventdev)
 extern int otx_logtype_ssovf;
 #define RTE_LOGTYPE_OTX_SSOVF otx_logtype_ssovf
 
-uint16_t ssows_enq(void *port, const struct rte_event *ev);
 uint16_t ssows_enq_burst(void *port,
 		const struct rte_event ev[], uint16_t nb_events);
 uint16_t ssows_enq_new_burst(void *port,
diff --git a/drivers/event/octeontx/ssovf_worker.c b/drivers/event/octeontx/ssovf_worker.c
index 36454939ea..89b5dc056c 100644
--- a/drivers/event/octeontx/ssovf_worker.c
+++ b/drivers/event/octeontx/ssovf_worker.c
@@ -148,12 +148,14 @@ ssows_deq_timeout_burst_ ##name(void *port, struct rte_event ev[],	     \
 SSO_RX_ADPTR_ENQ_FASTPATH_FUNC
 #undef R
 
-__rte_always_inline uint16_t __rte_hot
-ssows_enq(void *port, const struct rte_event *ev)
+uint16_t __rte_hot
+ssows_enq_burst(void *port, const struct rte_event ev[], uint16_t nb_events)
 {
 	struct ssows *ws = port;
 	uint16_t ret = 1;
 
+	RTE_SET_USED(nb_events);
+
 	switch (ev->op) {
 	case RTE_EVENT_OP_NEW:
 		rte_smp_wmb();
@@ -171,13 +173,6 @@ ssows_enq(void *port, const struct rte_event *ev)
 	return ret;
 }
 
-uint16_t __rte_hot
-ssows_enq_burst(void *port, const struct rte_event ev[], uint16_t nb_events)
-{
-	RTE_SET_USED(nb_events);
-	return ssows_enq(port, ev);
-}
-
 uint16_t __rte_hot
 ssows_enq_new_burst(void *port, const struct rte_event ev[], uint16_t nb_events)
 {
@@ -336,7 +331,6 @@ ssovf_fastpath_fns_set(struct rte_eventdev *dev)
 {
 	struct ssovf_evdev *edev = ssovf_pmd_priv(dev);
 
-	dev->enqueue       = ssows_enq;
 	dev->enqueue_burst = ssows_enq_burst;
 	dev->enqueue_new_burst = ssows_enq_new_burst;
 	dev->enqueue_forward_burst = ssows_enq_fwd_burst;
@@ -360,19 +354,6 @@ ssovf_fastpath_fns_set(struct rte_eventdev *dev)
 	dev->txa_enqueue_same_dest = dev->txa_enqueue;
 
 	/* Assigning dequeue func pointers */
-	const event_dequeue_t ssow_deq[2][2][2] = {
-#define R(name, f2, f1, f0, flags)					\
-	[f2][f1][f0] =  ssows_deq_ ##name,
-
-SSO_RX_ADPTR_ENQ_FASTPATH_FUNC
-#undef R
-	};
-
-	dev->dequeue = ssow_deq
-		[!!(edev->rx_offload_flags & OCCTX_RX_VLAN_FLTR_F)]
-		[!!(edev->rx_offload_flags & OCCTX_RX_OFFLOAD_CSUM_F)]
-		[!!(edev->rx_offload_flags & OCCTX_RX_MULTI_SEG_F)];
-
 	const event_dequeue_burst_t ssow_deq_burst[2][2][2] = {
 #define R(name, f2, f1, f0, flags)					\
 	[f2][f1][f0] =  ssows_deq_burst_ ##name,
@@ -387,19 +368,6 @@ SSO_RX_ADPTR_ENQ_FASTPATH_FUNC
 		[!!(edev->rx_offload_flags & OCCTX_RX_MULTI_SEG_F)];
 
 	if (edev->is_timeout_deq) {
-		const event_dequeue_t ssow_deq_timeout[2][2][2] = {
-#define R(name, f2, f1, f0, flags)					\
-	[f2][f1][f0] =  ssows_deq_timeout_ ##name,
-
-SSO_RX_ADPTR_ENQ_FASTPATH_FUNC
-#undef R
-		};
-
-	dev->dequeue = ssow_deq_timeout
-		[!!(edev->rx_offload_flags & OCCTX_RX_VLAN_FLTR_F)]
-		[!!(edev->rx_offload_flags & OCCTX_RX_OFFLOAD_CSUM_F)]
-		[!!(edev->rx_offload_flags & OCCTX_RX_MULTI_SEG_F)];
-
 	const event_dequeue_burst_t ssow_deq_timeout_burst[2][2][2] = {
 #define R(name, f2, f1, f0, flags)					\
 	[f2][f1][f0] =  ssows_deq_timeout_burst_ ##name,
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v2 05/10] event/sw: remove single event enqueue and dequeue
  2024-10-15 18:25   ` [RFC v2 00/10] eventdev: remove single-event " Mattias Rönnblom
                       ` (3 preceding siblings ...)
  2024-10-15 18:25     ` [RFC v2 04/10] event/octeontx: " Mattias Rönnblom
@ 2024-10-15 18:25     ` Mattias Rönnblom
  2024-10-15 18:25     ` [RFC v2 06/10] event/dpaa: " Mattias Rönnblom
                       ` (4 subsequent siblings)
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15 18:25 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/sw/sw_evdev.c        |  2 --
 drivers/event/sw/sw_evdev.h        |  2 --
 drivers/event/sw/sw_evdev_worker.c | 12 ------------
 3 files changed, 16 deletions(-)

diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index 7913bc547e..3ad82e94ac 100644
--- a/drivers/event/sw/sw_evdev.c
+++ b/drivers/event/sw/sw_evdev.c
@@ -1081,11 +1081,9 @@ sw_probe(struct rte_vdev_device *vdev)
 		return -EFAULT;
 	}
 	dev->dev_ops = &evdev_sw_ops;
-	dev->enqueue = sw_event_enqueue;
 	dev->enqueue_burst = sw_event_enqueue_burst;
 	dev->enqueue_new_burst = sw_event_enqueue_burst;
 	dev->enqueue_forward_burst = sw_event_enqueue_burst;
-	dev->dequeue = sw_event_dequeue;
 	dev->dequeue_burst = sw_event_dequeue_burst;
 
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
diff --git a/drivers/event/sw/sw_evdev.h b/drivers/event/sw/sw_evdev.h
index c6e649c70a..f617c7d966 100644
--- a/drivers/event/sw/sw_evdev.h
+++ b/drivers/event/sw/sw_evdev.h
@@ -288,11 +288,9 @@ sw_pmd_priv_const(const struct rte_eventdev *eventdev)
 	return eventdev->data->dev_private;
 }
 
-uint16_t sw_event_enqueue(void *port, const struct rte_event *ev);
 uint16_t sw_event_enqueue_burst(void *port, const struct rte_event ev[],
 		uint16_t num);
 
-uint16_t sw_event_dequeue(void *port, struct rte_event *ev, uint64_t wait);
 uint16_t sw_event_dequeue_burst(void *port, struct rte_event *ev, uint16_t num,
 			uint64_t wait);
 int32_t sw_event_schedule(struct rte_eventdev *dev);
diff --git a/drivers/event/sw/sw_evdev_worker.c b/drivers/event/sw/sw_evdev_worker.c
index 063b919c7e..4215726513 100644
--- a/drivers/event/sw/sw_evdev_worker.c
+++ b/drivers/event/sw/sw_evdev_worker.c
@@ -131,12 +131,6 @@ sw_event_enqueue_burst(void *port, const struct rte_event ev[], uint16_t num)
 	return enq;
 }
 
-uint16_t
-sw_event_enqueue(void *port, const struct rte_event *ev)
-{
-	return sw_event_enqueue_burst(port, ev, 1);
-}
-
 uint16_t
 sw_event_dequeue_burst(void *port, struct rte_event *ev, uint16_t num,
 		uint64_t wait)
@@ -178,9 +172,3 @@ sw_event_dequeue_burst(void *port, struct rte_event *ev, uint16_t num,
 end:
 	return ndeq;
 }
-
-uint16_t
-sw_event_dequeue(void *port, struct rte_event *ev, uint64_t wait)
-{
-	return sw_event_dequeue_burst(port, ev, 1, wait);
-}
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v2 06/10] event/dpaa: remove single event enqueue and dequeue
  2024-10-15 18:25   ` [RFC v2 00/10] eventdev: remove single-event " Mattias Rönnblom
                       ` (4 preceding siblings ...)
  2024-10-15 18:25     ` [RFC v2 05/10] event/sw: " Mattias Rönnblom
@ 2024-10-15 18:25     ` Mattias Rönnblom
  2024-10-15 18:25     ` [RFC v2 07/10] event/dpaa2: " Mattias Rönnblom
                       ` (3 subsequent siblings)
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15 18:25 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/dpaa/dpaa_eventdev.c | 27 ++-------------------------
 1 file changed, 2 insertions(+), 25 deletions(-)

diff --git a/drivers/event/dpaa/dpaa_eventdev.c b/drivers/event/dpaa/dpaa_eventdev.c
index 85ccb586ef..853cc1ecf9 100644
--- a/drivers/event/dpaa/dpaa_eventdev.c
+++ b/drivers/event/dpaa/dpaa_eventdev.c
@@ -113,12 +113,6 @@ dpaa_event_enqueue_burst(void *port, const struct rte_event ev[],
 	return nb_events;
 }
 
-static uint16_t
-dpaa_event_enqueue(void *port, const struct rte_event *ev)
-{
-	return dpaa_event_enqueue_burst(port, ev, 1);
-}
-
 static void drain_4_bytes(int fd, fd_set *fdset)
 {
 	if (FD_ISSET(fd, fdset)) {
@@ -233,12 +227,6 @@ dpaa_event_dequeue_burst(void *port, struct rte_event ev[],
 	return num_frames;
 }
 
-static uint16_t
-dpaa_event_dequeue(void *port, struct rte_event *ev, uint64_t timeout_ticks)
-{
-	return dpaa_event_dequeue_burst(port, ev, 1, timeout_ticks);
-}
-
 static uint16_t
 dpaa_event_dequeue_burst_intr(void *port, struct rte_event ev[],
 			      uint16_t nb_events, uint64_t timeout_ticks)
@@ -311,14 +299,6 @@ dpaa_event_dequeue_burst_intr(void *port, struct rte_event ev[],
 	return num_frames;
 }
 
-static uint16_t
-dpaa_event_dequeue_intr(void *port,
-			struct rte_event *ev,
-			uint64_t timeout_ticks)
-{
-	return dpaa_event_dequeue_burst_intr(port, ev, 1, timeout_ticks);
-}
-
 static void
 dpaa_event_dev_info_get(struct rte_eventdev *dev,
 			struct rte_event_dev_info *dev_info)
@@ -1012,17 +992,14 @@ dpaa_event_dev_create(const char *name, const char *params, struct rte_vdev_devi
 	priv = eventdev->data->dev_private;
 
 	eventdev->dev_ops       = &dpaa_eventdev_ops;
-	eventdev->enqueue       = dpaa_event_enqueue;
 	eventdev->enqueue_burst = dpaa_event_enqueue_burst;
 
-	if (dpaa_event_check_flags(params)) {
-		eventdev->dequeue	= dpaa_event_dequeue;
+	if (dpaa_event_check_flags(params))
 		eventdev->dequeue_burst = dpaa_event_dequeue_burst;
-	} else {
+	else {
 		priv->intr_mode = 1;
 		eventdev->dev_ops->timeout_ticks =
 				dpaa_event_dequeue_timeout_ticks_intr;
-		eventdev->dequeue	= dpaa_event_dequeue_intr;
 		eventdev->dequeue_burst = dpaa_event_dequeue_burst_intr;
 	}
 	eventdev->txa_enqueue = dpaa_eventdev_txa_enqueue;
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v2 07/10] event/dpaa2: remove single event enqueue and dequeue
  2024-10-15 18:25   ` [RFC v2 00/10] eventdev: remove single-event " Mattias Rönnblom
                       ` (5 preceding siblings ...)
  2024-10-15 18:25     ` [RFC v2 06/10] event/dpaa: " Mattias Rönnblom
@ 2024-10-15 18:25     ` Mattias Rönnblom
  2024-10-15 18:25     ` [RFC v2 08/10] event/opdl: " Mattias Rönnblom
                       ` (2 subsequent siblings)
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15 18:25 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>

--

RFC v2:
 * Remove unused functions.
---
 drivers/event/dpaa2/dpaa2_eventdev.c | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/drivers/event/dpaa2/dpaa2_eventdev.c b/drivers/event/dpaa2/dpaa2_eventdev.c
index f0b2c7de99..6c8ed3ff6b 100644
--- a/drivers/event/dpaa2/dpaa2_eventdev.c
+++ b/drivers/event/dpaa2/dpaa2_eventdev.c
@@ -202,12 +202,6 @@ dpaa2_eventdev_enqueue_burst(void *port, const struct rte_event ev[],
 
 }
 
-static uint16_t
-dpaa2_eventdev_enqueue(void *port, const struct rte_event *ev)
-{
-	return dpaa2_eventdev_enqueue_burst(port, ev, 1);
-}
-
 static void dpaa2_eventdev_dequeue_wait(uint64_t timeout_ticks)
 {
 	struct epoll_event epoll_ev;
@@ -363,13 +357,6 @@ dpaa2_eventdev_dequeue_burst(void *port, struct rte_event ev[],
 	return 0;
 }
 
-static uint16_t
-dpaa2_eventdev_dequeue(void *port, struct rte_event *ev,
-		       uint64_t timeout_ticks)
-{
-	return dpaa2_eventdev_dequeue_burst(port, ev, 1, timeout_ticks);
-}
-
 static void
 dpaa2_eventdev_info_get(struct rte_eventdev *dev,
 			struct rte_event_dev_info *dev_info)
@@ -1105,11 +1092,9 @@ dpaa2_eventdev_create(const char *name, struct rte_vdev_device *vdev)
 	}
 
 	eventdev->dev_ops       = &dpaa2_eventdev_ops;
-	eventdev->enqueue       = dpaa2_eventdev_enqueue;
 	eventdev->enqueue_burst = dpaa2_eventdev_enqueue_burst;
 	eventdev->enqueue_new_burst = dpaa2_eventdev_enqueue_burst;
 	eventdev->enqueue_forward_burst = dpaa2_eventdev_enqueue_burst;
-	eventdev->dequeue       = dpaa2_eventdev_dequeue;
 	eventdev->dequeue_burst = dpaa2_eventdev_dequeue_burst;
 	eventdev->txa_enqueue	= dpaa2_eventdev_txa_enqueue;
 	eventdev->txa_enqueue_same_dest	= dpaa2_eventdev_txa_enqueue_same_dest;
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v2 08/10] event/opdl: remove single event enqueue and dequeue
  2024-10-15 18:25   ` [RFC v2 00/10] eventdev: remove single-event " Mattias Rönnblom
                       ` (6 preceding siblings ...)
  2024-10-15 18:25     ` [RFC v2 07/10] event/dpaa2: " Mattias Rönnblom
@ 2024-10-15 18:25     ` 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
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15 18:25 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/opdl/opdl_evdev.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/event/opdl/opdl_evdev.c b/drivers/event/opdl/opdl_evdev.c
index 25853166bf..ffa65ef930 100644
--- a/drivers/event/opdl/opdl_evdev.c
+++ b/drivers/event/opdl/opdl_evdev.c
@@ -718,11 +718,9 @@ opdl_probe(struct rte_vdev_device *vdev)
 
 	dev->dev_ops = &evdev_opdl_ops;
 
-	dev->enqueue = opdl_event_enqueue;
 	dev->enqueue_burst = opdl_event_enqueue_burst;
 	dev->enqueue_new_burst = opdl_event_enqueue_burst;
 	dev->enqueue_forward_burst = opdl_event_enqueue_burst;
-	dev->dequeue = opdl_event_dequeue;
 	dev->dequeue_burst = opdl_event_dequeue_burst;
 
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v2 09/10] event/skeleton: remove single event enqueue and dequeue
  2024-10-15 18:25   ` [RFC v2 00/10] eventdev: remove single-event " Mattias Rönnblom
                       ` (7 preceding siblings ...)
  2024-10-15 18:25     ` [RFC v2 08/10] event/opdl: " Mattias Rönnblom
@ 2024-10-15 18:25     ` Mattias Rönnblom
  2024-10-15 18:25     ` [RFC v2 10/10] eventdev: " Mattias Rönnblom
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15 18:25 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>

--

RFC v2:
 * Remove unused functions.
---
 drivers/event/skeleton/skeleton_eventdev.c | 29 ----------------------
 1 file changed, 29 deletions(-)

diff --git a/drivers/event/skeleton/skeleton_eventdev.c b/drivers/event/skeleton/skeleton_eventdev.c
index 848b3be82c..73a1e4e008 100644
--- a/drivers/event/skeleton/skeleton_eventdev.c
+++ b/drivers/event/skeleton/skeleton_eventdev.c
@@ -25,18 +25,6 @@
 #define EVENTDEV_NAME_SKELETON_PMD event_skeleton
 /**< Skeleton event device PMD name */
 
-static uint16_t
-skeleton_eventdev_enqueue(void *port, const struct rte_event *ev)
-{
-	struct skeleton_port *sp = port;
-
-	RTE_SET_USED(sp);
-	RTE_SET_USED(ev);
-	RTE_SET_USED(port);
-
-	return 0;
-}
-
 static uint16_t
 skeleton_eventdev_enqueue_burst(void *port, const struct rte_event ev[],
 			uint16_t nb_events)
@@ -51,19 +39,6 @@ skeleton_eventdev_enqueue_burst(void *port, const struct rte_event ev[],
 	return 0;
 }
 
-static uint16_t
-skeleton_eventdev_dequeue(void *port, struct rte_event *ev,
-				uint64_t timeout_ticks)
-{
-	struct skeleton_port *sp = port;
-
-	RTE_SET_USED(sp);
-	RTE_SET_USED(ev);
-	RTE_SET_USED(timeout_ticks);
-
-	return 0;
-}
-
 static uint16_t
 skeleton_eventdev_dequeue_burst(void *port, struct rte_event ev[],
 		uint16_t nb_events, uint64_t timeout_ticks)
@@ -350,9 +325,7 @@ skeleton_eventdev_init(struct rte_eventdev *eventdev)
 	PMD_DRV_FUNC_TRACE();
 
 	eventdev->dev_ops       = &skeleton_eventdev_ops;
-	eventdev->enqueue       = skeleton_eventdev_enqueue;
 	eventdev->enqueue_burst = skeleton_eventdev_enqueue_burst;
-	eventdev->dequeue       = skeleton_eventdev_dequeue;
 	eventdev->dequeue_burst = skeleton_eventdev_dequeue_burst;
 
 	/* For secondary processes, the primary has done all the work */
@@ -440,9 +413,7 @@ skeleton_eventdev_create(const char *name, int socket_id, struct rte_vdev_device
 	}
 
 	eventdev->dev_ops       = &skeleton_eventdev_ops;
-	eventdev->enqueue       = skeleton_eventdev_enqueue;
 	eventdev->enqueue_burst = skeleton_eventdev_enqueue_burst;
-	eventdev->dequeue       = skeleton_eventdev_dequeue;
 	eventdev->dequeue_burst = skeleton_eventdev_dequeue_burst;
 
 	event_dev_probing_finish(eventdev);
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v2 10/10] eventdev: remove single event enqueue and dequeue
  2024-10-15 18:25   ` [RFC v2 00/10] eventdev: remove single-event " Mattias Rönnblom
                       ` (8 preceding siblings ...)
  2024-10-15 18:25     ` [RFC v2 09/10] event/skeleton: " Mattias Rönnblom
@ 2024-10-15 18:25     ` Mattias Rönnblom
  2024-10-15 22:00       ` Stephen Hemminger
  2024-10-16 14:14       ` Jerin Jacob
  9 siblings, 2 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15 18:25 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

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


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC 00/10] eventdev: remove single-event enqueue and dequeue
  2024-10-15 17:07 ` [RFC 00/10] eventdev: remove single-event " Stephen Hemminger
@ 2024-10-15 18:38   ` Mattias Rönnblom
  0 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-15 18:38 UTC (permalink / raw)
  To: Stephen Hemminger, Mattias Rönnblom; +Cc: Jerin Jacob, dev, David Marchand

On 2024-10-15 19:07, Stephen Hemminger wrote:
> On Tue, 15 Oct 2024 10:49:33 +0200
> Mattias Rönnblom <mattias.ronnblom@ericsson.com> wrote:
> 
>> Remove the single-event enqueue and dequeue functions from the
>> eventdev "ops" struct, to reduce complexity, leaving performance
>> unaffected.
>>
>> This ABI change has been announced as a DPDK deprication notice,
>> originally scheduled for DPDK 23.11.
>>
>> Mattias Rönnblom (10):
>>    event/dsw: remove single event enqueue and dequeue
>>    event/dlb2: remove single event enqueue and dequeue
>>    event/cnxk: remove single event enqueue and dequeue
>>    event/octeontx: remove single event enqueue and dequeue
>>    event/sw: remove single event enqueue and dequeue
>>    event/dpaa: remove single event enqueue and dequeue
>>    event/dpaa2: remove single event enqueue and dequeue
>>    event/opdl: remove single event enqueue and dequeue
>>    event/skeleton: remove single event enqueue and dequeue
>>    eventdev: remove single event enqueue and dequeue
>>
>>   doc/guides/rel_notes/deprecation.rst       |  6 +--
>>   drivers/event/cnxk/cn10k_eventdev.c        |  2 -
>>   drivers/event/cnxk/cn10k_worker.c          | 49 ++++++++++------------
>>   drivers/event/cnxk/cn10k_worker.h          |  9 ----
>>   drivers/event/cnxk/cn9k_eventdev.c         |  1 -
>>   drivers/event/cnxk/cn9k_worker.c           | 26 ++++--------
>>   drivers/event/cnxk/cn9k_worker.h           | 17 --------
>>   drivers/event/dlb2/dlb2.c                  | 33 +--------------
>>   drivers/event/dpaa/dpaa_eventdev.c         | 27 +-----------
>>   drivers/event/dpaa2/dpaa2_eventdev.c       |  2 -
>>   drivers/event/dsw/dsw_evdev.c              |  2 -
>>   drivers/event/dsw/dsw_evdev.h              |  2 -
>>   drivers/event/dsw/dsw_event.c              | 12 ------
>>   drivers/event/octeontx/ssovf_evdev.h       |  1 -
>>   drivers/event/octeontx/ssovf_worker.c      | 40 ++----------------
>>   drivers/event/opdl/opdl_evdev.c            |  2 -
>>   drivers/event/skeleton/skeleton_eventdev.c |  4 --
>>   drivers/event/sw/sw_evdev.c                |  2 -
>>   drivers/event/sw/sw_evdev.h                |  2 -
>>   drivers/event/sw/sw_evdev_worker.c         | 12 ------
>>   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 --
>>   24 files changed, 43 insertions(+), 259 deletions(-)
> 
> Looks good always like to see code removed.
> 
> You missed one place though.
> 
> 

I thought developer mode meant -Werror, for some reason.

Fixed this and two other similar issues in RFC v2.

Thanks.

> *Build Failed #1:
> OS: RHEL94-64
> Target: x86_64-native-linuxapp-clang
> FAILED: drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o
> clang -Idrivers/libtmp_rte_event_dlb2.a.p -Idrivers -I../drivers -Idrivers/event/dlb2 -I../drivers/event/dlb2 -Ilib/eventdev -I../lib/eventdev -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/ring -I../lib/ring -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/meter -I../lib/meter -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/timer -I../lib/timer -Ilib/cryptodev -I../lib/cryptodev -Ilib/dmadev -I../lib/dmadev -Ilib/pci -I../lib/pci -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -DCC_AVX512_SUPPORT -DRTE_LOG_DEFAULT_LOGTYPE=pmd.event.dlb2 -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o -MF drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o.d -o drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2.c.o -c ../drivers/event/dlb2/dlb2.c
> ../drivers/event/dlb2/dlb2.c:3303:1: error: unused function 'dlb2_event_enqueue_delayed' [-Werror,-Wunused-function]
>   3303 | dlb2_event_enqueue_delayed(void *event_port,
>        | ^~~~~~~~~~~~~~~~~~~~~~~~~~
> 1 error generated.
> [2373/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2_iface.c.o
> [2374/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2_xstats.c.o
> [2375/3000] Compiling C object drivers/event/dlb2/libavx512_tmp.a.p/dlb2_avx512.c.o
> [2376/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_rte_pmd_dlb2.c.o
> [2377/3000] Compiling C object drivers/libtmp_rte_event_cnxk.a.p/event_cnxk_cn10k_eventdev.c.o
> [2378/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o
> [2379/3000] Compiling C object drivers/libtmp_rte_event_dpaa.a.p/event_dpaa_dpaa_eventdev.c.o
> [2380/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_dlb2_selftest.c.o
> [2381/3000] Compiling C object drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_base_dlb2_resource.c.o
> ninja: build stopped


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC v2 10/10] eventdev: remove single event enqueue and dequeue
  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 14:14       ` Jerin Jacob
  1 sibling, 1 reply; 39+ messages in thread
From: Stephen Hemminger @ 2024-10-15 22:00 UTC (permalink / raw)
  To: Mattias Rönnblom
  Cc: Jerin Jacob, dev, Mattias Rönnblom, David Marchand,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren

On Tue, 15 Oct 2024 20:25:35 +0200
Mattias Rönnblom <mattias.ronnblom@ericsson.com> wrote:

> 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>

Still have a build failure with one driver.


-------------------------------BEGIN LOGS----------------------------
####################################################################################
#### [Begin job log] "ubuntu-22.04-gcc-shared-aarch64" at step Build and test
####################################################################################
      |         ^~~~~~
../drivers/event/cnxk/cn9k_eventdev.c: In function ‘cn9k_sso_fp_fns_set’:
../drivers/event/cnxk/cn9k_eventdev.c:576:20: error: ‘struct rte_eventdev’ has no member named ‘enqueue’; did you mean ‘ca_enqueue’?
  576 |         event_dev->enqueue = cn9k_sso_hws_enq;
      |                    ^~~~~~~
      |                    ca_enqueue
../drivers/event/cnxk/cn9k_eventdev.c:576:30: error: ‘cn9k_sso_hws_enq’ undeclared (first use in this function); did you mean ‘cn9k_sso_hws_link’?
  576 |         event_dev->enqueue = cn9k_sso_hws_enq;
      |                              ^~~~~~~~~~~~~~~~
      |                              cn9k_sso_hws_link
../drivers/event/cnxk/cn9k_eventdev.c:584:28: error: ‘struct rte_eventdev’ has no member named ‘enqueue’; did you mean ‘ca_enqueue’?
  584 |                 event_dev->enqueue = cn9k_sso_hws_dual_enq;
      |                            ^~~~~~~
      |                            ca_enqueue
../drivers/event/cnxk/cn9k_eventdev.c:584:38: error: ‘cn9k_sso_hws_dual_enq’ undeclared (first use in this function); did you mean ‘cn9k_sso_hws_dual_ca_enq’?
  584 |                 event_dev->enqueue = cn9k_sso_hws_dual_enq;
      |                                      ^~~~~~~~~~~~~~~~~~~~~
      |                                      cn9k_sso_hws_dual_ca_enq
[2451/4290] Compiling C object 'drivers/a715181@@tmp_rte_event_cnxk at sta/event_cnxk_deq_cn9k_deq_64_79_seg_burst.c.o'.
[2452/4290] Compiling C object 'drivers/a715181@@tmp_rte_event_cnxk at sta/event_cnxk_deq_cn9k_deq_80_95_seg_burst.c.o'.
[2453/4290] Generating rte_crypto_octeontx.sym_chk with a meson_exe.py custom command.
[2454/4290] Compiling C object 'drivers/a715181@@tmp_rte_event_cnxk at sta/event_cnxk_deq_cn9k_deq_96_111_seg_burst.c.o'.
[2455/4290] Compiling C object 'drivers/a715181@@tmp_rte_event_cnxk at sta/event_cnxk_deq_cn9k_deq_112_127_seg_burst.c.o'.
ninja: build stopped: subcommand failed.
##[error]Process completed with exit code 1.
####################################################################################
#### [End job log] "ubuntu-22.04-gcc-shared-aarch64" at step Build and test
####################################################################################
--------------------------------END LOGS-----------------------------

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC v2 10/10] eventdev: remove single event enqueue and dequeue
  2024-10-15 22:00       ` Stephen Hemminger
@ 2024-10-16  4:36         ` Mattias Rönnblom
  2024-10-16  6:20           ` Mattias Rönnblom
  0 siblings, 1 reply; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-16  4:36 UTC (permalink / raw)
  To: Stephen Hemminger, Mattias Rönnblom
  Cc: Jerin Jacob, dev, David Marchand, Anoob Joseph, Hemant Agrawal,
	Sachin Saxena, Abdullah Sevincer, Pavan Nikhilesh,
	Shijith Thotton, Harry van Haaren

On 2024-10-16 00:00, Stephen Hemminger wrote:
> On Tue, 15 Oct 2024 20:25:35 +0200
> Mattias Rönnblom <mattias.ronnblom@ericsson.com> wrote:
> 
>> 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>
> 
> Still have a build failure with one driver.
> 

The wonders of #ifdef <arch>.

> 
> -------------------------------BEGIN LOGS----------------------------
> ####################################################################################
> #### [Begin job log] "ubuntu-22.04-gcc-shared-aarch64" at step Build and test
> ####################################################################################
>        |         ^~~~~~
> ../drivers/event/cnxk/cn9k_eventdev.c: In function ‘cn9k_sso_fp_fns_set’:
> ../drivers/event/cnxk/cn9k_eventdev.c:576:20: error: ‘struct rte_eventdev’ has no member named ‘enqueue’; did you mean ‘ca_enqueue’?
>    576 |         event_dev->enqueue = cn9k_sso_hws_enq;
>        |                    ^~~~~~~
>        |                    ca_enqueue
> ../drivers/event/cnxk/cn9k_eventdev.c:576:30: error: ‘cn9k_sso_hws_enq’ undeclared (first use in this function); did you mean ‘cn9k_sso_hws_link’?
>    576 |         event_dev->enqueue = cn9k_sso_hws_enq;
>        |                              ^~~~~~~~~~~~~~~~
>        |                              cn9k_sso_hws_link
> ../drivers/event/cnxk/cn9k_eventdev.c:584:28: error: ‘struct rte_eventdev’ has no member named ‘enqueue’; did you mean ‘ca_enqueue’?
>    584 |                 event_dev->enqueue = cn9k_sso_hws_dual_enq;
>        |                            ^~~~~~~
>        |                            ca_enqueue
> ../drivers/event/cnxk/cn9k_eventdev.c:584:38: error: ‘cn9k_sso_hws_dual_enq’ undeclared (first use in this function); did you mean ‘cn9k_sso_hws_dual_ca_enq’?
>    584 |                 event_dev->enqueue = cn9k_sso_hws_dual_enq;
>        |                                      ^~~~~~~~~~~~~~~~~~~~~
>        |                                      cn9k_sso_hws_dual_ca_enq
> [2451/4290] Compiling C object 'drivers/a715181@@tmp_rte_event_cnxk at sta/event_cnxk_deq_cn9k_deq_64_79_seg_burst.c.o'.
> [2452/4290] Compiling C object 'drivers/a715181@@tmp_rte_event_cnxk at sta/event_cnxk_deq_cn9k_deq_80_95_seg_burst.c.o'.
> [2453/4290] Generating rte_crypto_octeontx.sym_chk with a meson_exe.py custom command.
> [2454/4290] Compiling C object 'drivers/a715181@@tmp_rte_event_cnxk at sta/event_cnxk_deq_cn9k_deq_96_111_seg_burst.c.o'.
> [2455/4290] Compiling C object 'drivers/a715181@@tmp_rte_event_cnxk at sta/event_cnxk_deq_cn9k_deq_112_127_seg_burst.c.o'.
> ninja: build stopped: subcommand failed.
> ##[error]Process completed with exit code 1.
> ####################################################################################
> #### [End job log] "ubuntu-22.04-gcc-shared-aarch64" at step Build and test
> ####################################################################################
> --------------------------------END LOGS-----------------------------


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC v2 10/10] eventdev: remove single event enqueue and dequeue
  2024-10-16  4:36         ` Mattias Rönnblom
@ 2024-10-16  6:20           ` Mattias Rönnblom
  0 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-16  6:20 UTC (permalink / raw)
  To: Stephen Hemminger, Mattias Rönnblom
  Cc: Jerin Jacob, dev, David Marchand, Anoob Joseph, Hemant Agrawal,
	Sachin Saxena, Abdullah Sevincer, Pavan Nikhilesh,
	Shijith Thotton, Harry van Haaren, Ashwin Sekhar T K

On 2024-10-16 06:36, Mattias Rönnblom wrote:
> On 2024-10-16 00:00, Stephen Hemminger wrote:
>> On Tue, 15 Oct 2024 20:25:35 +0200
>> Mattias Rönnblom <mattias.ronnblom@ericsson.com> wrote:
>>
>>> 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>
>>
>> Still have a build failure with one driver.
>>
> 
> The wonders of #ifdef <arch>.
> 

I had a closer look at this, and given the elaborate macro-based 
machinery and the ARM-only conditional compilation it's better if a 
driver maintainer does the required changes.

(It's probably better to start from scratch on the cnxk patch, rather 
than looking at anything I did.)

Ashwin Sekhar or Pavan Nikhilesh, is this something you can do?

>>
>> -------------------------------BEGIN LOGS----------------------------
>> ####################################################################################
>> #### [Begin job log] "ubuntu-22.04-gcc-shared-aarch64" at step Build 
>> and test
>> ####################################################################################
>>        |         ^~~~~~
>> ../drivers/event/cnxk/cn9k_eventdev.c: In function ‘cn9k_sso_fp_fns_set’:
>> ../drivers/event/cnxk/cn9k_eventdev.c:576:20: error: ‘struct 
>> rte_eventdev’ has no member named ‘enqueue’; did you mean ‘ca_enqueue’?
>>    576 |         event_dev->enqueue = cn9k_sso_hws_enq;
>>        |                    ^~~~~~~
>>        |                    ca_enqueue
>> ../drivers/event/cnxk/cn9k_eventdev.c:576:30: error: 
>> ‘cn9k_sso_hws_enq’ undeclared (first use in this function); did you 
>> mean ‘cn9k_sso_hws_link’?
>>    576 |         event_dev->enqueue = cn9k_sso_hws_enq;
>>        |                              ^~~~~~~~~~~~~~~~
>>        |                              cn9k_sso_hws_link
>> ../drivers/event/cnxk/cn9k_eventdev.c:584:28: error: ‘struct 
>> rte_eventdev’ has no member named ‘enqueue’; did you mean ‘ca_enqueue’?
>>    584 |                 event_dev->enqueue = cn9k_sso_hws_dual_enq;
>>        |                            ^~~~~~~
>>        |                            ca_enqueue
>> ../drivers/event/cnxk/cn9k_eventdev.c:584:38: error: 
>> ‘cn9k_sso_hws_dual_enq’ undeclared (first use in this function); did 
>> you mean ‘cn9k_sso_hws_dual_ca_enq’?
>>    584 |                 event_dev->enqueue = cn9k_sso_hws_dual_enq;
>>        |                                      ^~~~~~~~~~~~~~~~~~~~~
>>        |                                      cn9k_sso_hws_dual_ca_enq
>> [2451/4290] Compiling C object 'drivers/a715181@@tmp_rte_event_cnxk at 
>> sta/event_cnxk_deq_cn9k_deq_64_79_seg_burst.c.o'.
>> [2452/4290] Compiling C object 'drivers/a715181@@tmp_rte_event_cnxk at 
>> sta/event_cnxk_deq_cn9k_deq_80_95_seg_burst.c.o'.
>> [2453/4290] Generating rte_crypto_octeontx.sym_chk with a meson_exe.py 
>> custom command.
>> [2454/4290] Compiling C object 'drivers/a715181@@tmp_rte_event_cnxk at 
>> sta/event_cnxk_deq_cn9k_deq_96_111_seg_burst.c.o'.
>> [2455/4290] Compiling C object 'drivers/a715181@@tmp_rte_event_cnxk at 
>> sta/event_cnxk_deq_cn9k_deq_112_127_seg_burst.c.o'.
>> ninja: build stopped: subcommand failed.
>> ##[error]Process completed with exit code 1.
>> ####################################################################################
>> #### [End job log] "ubuntu-22.04-gcc-shared-aarch64" at step Build and 
>> test
>> ####################################################################################
>> --------------------------------END LOGS-----------------------------
> 


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [RFC v2 10/10] eventdev: remove single event enqueue and dequeue
  2024-10-15 18:25     ` [RFC v2 10/10] eventdev: " Mattias Rönnblom
  2024-10-15 22:00       ` Stephen Hemminger
@ 2024-10-16 14:14       ` Jerin Jacob
  1 sibling, 0 replies; 39+ messages in thread
From: Jerin Jacob @ 2024-10-16 14:14 UTC (permalink / raw)
  To: Mattias Rönnblom
  Cc: Jerin Jacob, dev, Mattias Rönnblom, David Marchand,
	Stephen Hemminger, Anoob Joseph, Hemant Agrawal, Sachin Saxena,
	Abdullah Sevincer, Pavan Nikhilesh, Shijith Thotton,
	Harry van Haaren

On Wed, Oct 16, 2024 at 12:14 AM Mattias Rönnblom
<mattias.ronnblom@ericsson.com> wrote:
>
> 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 ----

Update “ABI Changes” section in doc/guides/rel_notes/release_24_11.rst

^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v3 00/10] eventdev: remove single-event enqueue and dequeue
  2024-10-15 18:25     ` [RFC v2 01/10] event/dsw: remove single event " Mattias Rönnblom
@ 2024-10-17  6:38       ` Mattias Rönnblom
  2024-10-17  6:38         ` [RFC v3 01/10] event/dsw: remove single event " Mattias Rönnblom
                           ` (9 more replies)
  0 siblings, 10 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-17  6:38 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Remove the single-event enqueue and dequeue functions from the
eventdev "ops" struct, to reduce complexity, leaving performance
unaffected.

This ABI change has been announced as a DPDK deprication notice,
originally scheduled for DPDK 23.11.

Mattias Rönnblom (9):
  event/dsw: remove single event enqueue and dequeue
  event/dlb2: remove single event enqueue and dequeue
  event/octeontx: remove single event enqueue and dequeue
  event/sw: remove single event enqueue and dequeue
  event/dpaa: remove single event enqueue and dequeue
  event/dpaa2: remove single event enqueue and dequeue
  event/opdl: remove single event enqueue and dequeue
  event/skeleton: remove single event enqueue and dequeue
  eventdev: remove single event enqueue and dequeue

Pavan Nikhilesh (1):
  event/cnxk: remove single event enqueue and dequeue

 doc/guides/rel_notes/deprecation.rst       |  6 +-
 doc/guides/rel_notes/release_24_11.rst     |  3 +
 drivers/event/cnxk/cn10k_eventdev.c        | 74 ++--------------------
 drivers/event/cnxk/cn10k_worker.c          | 49 +++++++-------
 drivers/event/cnxk/cn10k_worker.h          |  1 -
 drivers/event/cnxk/cn9k_eventdev.c         | 73 +--------------------
 drivers/event/cnxk/cn9k_worker.c           | 26 +++-----
 drivers/event/cnxk/cn9k_worker.h           |  3 -
 drivers/event/dlb2/dlb2.c                  | 40 +-----------
 drivers/event/dpaa/dpaa_eventdev.c         | 27 +-------
 drivers/event/dpaa2/dpaa2_eventdev.c       | 15 -----
 drivers/event/dsw/dsw_evdev.c              |  2 -
 drivers/event/dsw/dsw_evdev.h              |  2 -
 drivers/event/dsw/dsw_event.c              | 12 ----
 drivers/event/octeontx/ssovf_evdev.h       |  1 -
 drivers/event/octeontx/ssovf_worker.c      | 40 ++----------
 drivers/event/opdl/opdl_evdev.c            |  2 -
 drivers/event/skeleton/skeleton_eventdev.c | 29 ---------
 drivers/event/sw/sw_evdev.c                |  2 -
 drivers/event/sw/sw_evdev.h                |  2 -
 drivers/event/sw/sw_evdev_worker.c         | 12 ----
 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 ----
 25 files changed, 52 insertions(+), 427 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v3 01/10] event/dsw: remove single event enqueue and dequeue
  2024-10-17  6:38       ` [RFC v3 00/10] eventdev: remove single-event " Mattias Rönnblom
@ 2024-10-17  6:38         ` Mattias Rönnblom
  2024-10-17  6:38         ` [RFC v3 02/10] event/dlb2: " Mattias Rönnblom
                           ` (8 subsequent siblings)
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-17  6:38 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Provide only burst enqueue and dequeue.

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/dsw/dsw_evdev.c |  2 --
 drivers/event/dsw/dsw_evdev.h |  2 --
 drivers/event/dsw/dsw_event.c | 12 ------------
 3 files changed, 16 deletions(-)

diff --git a/drivers/event/dsw/dsw_evdev.c b/drivers/event/dsw/dsw_evdev.c
index 1df3121b21..e819412639 100644
--- a/drivers/event/dsw/dsw_evdev.c
+++ b/drivers/event/dsw/dsw_evdev.c
@@ -453,11 +453,9 @@ dsw_probe(struct rte_vdev_device *vdev)
 		return -EFAULT;
 
 	dev->dev_ops = &dsw_evdev_ops;
-	dev->enqueue = dsw_event_enqueue;
 	dev->enqueue_burst = dsw_event_enqueue_burst;
 	dev->enqueue_new_burst = dsw_event_enqueue_new_burst;
 	dev->enqueue_forward_burst = dsw_event_enqueue_forward_burst;
-	dev->dequeue = dsw_event_dequeue;
 	dev->dequeue_burst = dsw_event_dequeue_burst;
 	dev->maintain = dsw_event_maintain;
 
diff --git a/drivers/event/dsw/dsw_evdev.h b/drivers/event/dsw/dsw_evdev.h
index e05cee0e6a..ce52498435 100644
--- a/drivers/event/dsw/dsw_evdev.h
+++ b/drivers/event/dsw/dsw_evdev.h
@@ -270,7 +270,6 @@ struct __rte_aligned(4) dsw_ctl_msg {
 	struct dsw_queue_flow qfs[DSW_MAX_FLOWS_PER_MIGRATION];
 };
 
-uint16_t dsw_event_enqueue(void *port, const struct rte_event *event);
 uint16_t dsw_event_enqueue_burst(void *port,
 				 const struct rte_event events[],
 				 uint16_t events_len);
@@ -281,7 +280,6 @@ uint16_t dsw_event_enqueue_forward_burst(void *port,
 					 const struct rte_event events[],
 					 uint16_t events_len);
 
-uint16_t dsw_event_dequeue(void *port, struct rte_event *ev, uint64_t wait);
 uint16_t dsw_event_dequeue_burst(void *port, struct rte_event *events,
 				 uint16_t num, uint64_t wait);
 void dsw_event_maintain(void *port, int op);
diff --git a/drivers/event/dsw/dsw_event.c b/drivers/event/dsw/dsw_event.c
index 6eeeb6da93..e68fb19890 100644
--- a/drivers/event/dsw/dsw_event.c
+++ b/drivers/event/dsw/dsw_event.c
@@ -1323,12 +1323,6 @@ dsw_port_flush_out_buffers(struct dsw_evdev *dsw, struct dsw_port *source_port)
 		dsw_port_transmit_buffered(dsw, source_port, dest_port_id);
 }
 
-uint16_t
-dsw_event_enqueue(void *port, const struct rte_event *ev)
-{
-	return dsw_event_enqueue_burst(port, ev, unlikely(ev == NULL) ? 0 : 1);
-}
-
 static __rte_always_inline uint16_t
 dsw_event_enqueue_burst_generic(struct dsw_port *source_port,
 				const struct rte_event events[],
@@ -1462,12 +1456,6 @@ dsw_event_enqueue_forward_burst(void *port, const struct rte_event events[],
 					       events_len, 0);
 }
 
-uint16_t
-dsw_event_dequeue(void *port, struct rte_event *events, uint64_t wait)
-{
-	return dsw_event_dequeue_burst(port, events, 1, wait);
-}
-
 static void
 dsw_port_record_seen_events(struct dsw_port *port, struct rte_event *events,
 			    uint16_t num)
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v3 02/10] event/dlb2: remove single event enqueue and dequeue
  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         ` Mattias Rönnblom
  2024-10-17  6:38         ` [RFC v3 03/10] event/octeontx: " Mattias Rönnblom
                           ` (7 subsequent siblings)
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-17  6:38 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Provide only burst enqueue and dequeue.

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>

--

RFCv2:
 * Remove unused function. (Stephen Hemminger)
---
 drivers/event/dlb2/dlb2.c | 40 ++-------------------------------------
 1 file changed, 2 insertions(+), 38 deletions(-)

diff --git a/drivers/event/dlb2/dlb2.c b/drivers/event/dlb2/dlb2.c
index 09e4107824..934fcafcfe 100644
--- a/drivers/event/dlb2/dlb2.c
+++ b/drivers/event/dlb2/dlb2.c
@@ -1483,10 +1483,6 @@ dlb2_init_qe_mem(struct dlb2_port *qm_port, char *mz_name)
 	return ret;
 }
 
-static inline uint16_t
-dlb2_event_enqueue_delayed(void *event_port,
-			   const struct rte_event events[]);
-
 static inline uint16_t
 dlb2_event_enqueue_burst_delayed(void *event_port,
 				 const struct rte_event events[],
@@ -1662,7 +1658,6 @@ dlb2_hw_create_ldb_port(struct dlb2_eventdev *dlb2,
 	 * performance reasons.
 	 */
 	if (qm_port->token_pop_mode == DELAYED_POP) {
-		dlb2->event_dev->enqueue = dlb2_event_enqueue_delayed;
 		dlb2->event_dev->enqueue_burst =
 			dlb2_event_enqueue_burst_delayed;
 		dlb2->event_dev->enqueue_new_burst =
@@ -3304,20 +3299,6 @@ dlb2_event_enqueue_burst_delayed(void *event_port,
 	return __dlb2_event_enqueue_burst(event_port, events, num, true);
 }
 
-static inline uint16_t
-dlb2_event_enqueue(void *event_port,
-		   const struct rte_event events[])
-{
-	return __dlb2_event_enqueue_burst(event_port, events, 1, false);
-}
-
-static inline uint16_t
-dlb2_event_enqueue_delayed(void *event_port,
-			   const struct rte_event events[])
-{
-	return __dlb2_event_enqueue_burst(event_port, events, 1, true);
-}
-
 static uint16_t
 dlb2_event_enqueue_new_burst(void *event_port,
 			     const struct rte_event events[],
@@ -4312,12 +4293,6 @@ dlb2_event_dequeue_burst(void *event_port, struct rte_event *ev, uint16_t num,
 	return cnt;
 }
 
-static uint16_t
-dlb2_event_dequeue(void *event_port, struct rte_event *ev, uint64_t wait)
-{
-	return dlb2_event_dequeue_burst(event_port, ev, 1, wait);
-}
-
 static uint16_t
 dlb2_event_dequeue_burst_sparse(void *event_port, struct rte_event *ev,
 				uint16_t num, uint64_t wait)
@@ -4375,13 +4350,6 @@ dlb2_event_dequeue_burst_sparse(void *event_port, struct rte_event *ev,
 	return cnt;
 }
 
-static uint16_t
-dlb2_event_dequeue_sparse(void *event_port, struct rte_event *ev,
-			  uint64_t wait)
-{
-	return dlb2_event_dequeue_burst_sparse(event_port, ev, 1, wait);
-}
-
 static void
 dlb2_flush_port(struct rte_eventdev *dev, int port_id)
 {
@@ -4693,19 +4661,15 @@ dlb2_entry_points_init(struct rte_eventdev *dev)
 	/* Expose PMD's eventdev interface */
 
 	dev->dev_ops = &dlb2_eventdev_entry_ops;
-	dev->enqueue = dlb2_event_enqueue;
 	dev->enqueue_burst = dlb2_event_enqueue_burst;
 	dev->enqueue_new_burst = dlb2_event_enqueue_new_burst;
 	dev->enqueue_forward_burst = dlb2_event_enqueue_forward_burst;
 
 	dlb2 = dev->data->dev_private;
-	if (dlb2->poll_mode == DLB2_CQ_POLL_MODE_SPARSE) {
-		dev->dequeue = dlb2_event_dequeue_sparse;
+	if (dlb2->poll_mode == DLB2_CQ_POLL_MODE_SPARSE)
 		dev->dequeue_burst = dlb2_event_dequeue_burst_sparse;
-	} else {
-		dev->dequeue = dlb2_event_dequeue;
+	else
 		dev->dequeue_burst = dlb2_event_dequeue_burst;
-	}
 }
 
 int
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v3 03/10] event/octeontx: remove single event enqueue and dequeue
  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         ` Mattias Rönnblom
  2024-10-17  6:38         ` [RFC v3 04/10] event/sw: " Mattias Rönnblom
                           ` (6 subsequent siblings)
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-17  6:38 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Provide only burst enqueue and dequeue.

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/octeontx/ssovf_evdev.h  |  1 -
 drivers/event/octeontx/ssovf_worker.c | 40 +++------------------------
 2 files changed, 4 insertions(+), 37 deletions(-)

diff --git a/drivers/event/octeontx/ssovf_evdev.h b/drivers/event/octeontx/ssovf_evdev.h
index 1997626438..0f81115a37 100644
--- a/drivers/event/octeontx/ssovf_evdev.h
+++ b/drivers/event/octeontx/ssovf_evdev.h
@@ -172,7 +172,6 @@ ssovf_pmd_priv(const struct rte_eventdev *eventdev)
 extern int otx_logtype_ssovf;
 #define RTE_LOGTYPE_OTX_SSOVF otx_logtype_ssovf
 
-uint16_t ssows_enq(void *port, const struct rte_event *ev);
 uint16_t ssows_enq_burst(void *port,
 		const struct rte_event ev[], uint16_t nb_events);
 uint16_t ssows_enq_new_burst(void *port,
diff --git a/drivers/event/octeontx/ssovf_worker.c b/drivers/event/octeontx/ssovf_worker.c
index 36454939ea..89b5dc056c 100644
--- a/drivers/event/octeontx/ssovf_worker.c
+++ b/drivers/event/octeontx/ssovf_worker.c
@@ -148,12 +148,14 @@ ssows_deq_timeout_burst_ ##name(void *port, struct rte_event ev[],	     \
 SSO_RX_ADPTR_ENQ_FASTPATH_FUNC
 #undef R
 
-__rte_always_inline uint16_t __rte_hot
-ssows_enq(void *port, const struct rte_event *ev)
+uint16_t __rte_hot
+ssows_enq_burst(void *port, const struct rte_event ev[], uint16_t nb_events)
 {
 	struct ssows *ws = port;
 	uint16_t ret = 1;
 
+	RTE_SET_USED(nb_events);
+
 	switch (ev->op) {
 	case RTE_EVENT_OP_NEW:
 		rte_smp_wmb();
@@ -171,13 +173,6 @@ ssows_enq(void *port, const struct rte_event *ev)
 	return ret;
 }
 
-uint16_t __rte_hot
-ssows_enq_burst(void *port, const struct rte_event ev[], uint16_t nb_events)
-{
-	RTE_SET_USED(nb_events);
-	return ssows_enq(port, ev);
-}
-
 uint16_t __rte_hot
 ssows_enq_new_burst(void *port, const struct rte_event ev[], uint16_t nb_events)
 {
@@ -336,7 +331,6 @@ ssovf_fastpath_fns_set(struct rte_eventdev *dev)
 {
 	struct ssovf_evdev *edev = ssovf_pmd_priv(dev);
 
-	dev->enqueue       = ssows_enq;
 	dev->enqueue_burst = ssows_enq_burst;
 	dev->enqueue_new_burst = ssows_enq_new_burst;
 	dev->enqueue_forward_burst = ssows_enq_fwd_burst;
@@ -360,19 +354,6 @@ ssovf_fastpath_fns_set(struct rte_eventdev *dev)
 	dev->txa_enqueue_same_dest = dev->txa_enqueue;
 
 	/* Assigning dequeue func pointers */
-	const event_dequeue_t ssow_deq[2][2][2] = {
-#define R(name, f2, f1, f0, flags)					\
-	[f2][f1][f0] =  ssows_deq_ ##name,
-
-SSO_RX_ADPTR_ENQ_FASTPATH_FUNC
-#undef R
-	};
-
-	dev->dequeue = ssow_deq
-		[!!(edev->rx_offload_flags & OCCTX_RX_VLAN_FLTR_F)]
-		[!!(edev->rx_offload_flags & OCCTX_RX_OFFLOAD_CSUM_F)]
-		[!!(edev->rx_offload_flags & OCCTX_RX_MULTI_SEG_F)];
-
 	const event_dequeue_burst_t ssow_deq_burst[2][2][2] = {
 #define R(name, f2, f1, f0, flags)					\
 	[f2][f1][f0] =  ssows_deq_burst_ ##name,
@@ -387,19 +368,6 @@ SSO_RX_ADPTR_ENQ_FASTPATH_FUNC
 		[!!(edev->rx_offload_flags & OCCTX_RX_MULTI_SEG_F)];
 
 	if (edev->is_timeout_deq) {
-		const event_dequeue_t ssow_deq_timeout[2][2][2] = {
-#define R(name, f2, f1, f0, flags)					\
-	[f2][f1][f0] =  ssows_deq_timeout_ ##name,
-
-SSO_RX_ADPTR_ENQ_FASTPATH_FUNC
-#undef R
-		};
-
-	dev->dequeue = ssow_deq_timeout
-		[!!(edev->rx_offload_flags & OCCTX_RX_VLAN_FLTR_F)]
-		[!!(edev->rx_offload_flags & OCCTX_RX_OFFLOAD_CSUM_F)]
-		[!!(edev->rx_offload_flags & OCCTX_RX_MULTI_SEG_F)];
-
 	const event_dequeue_burst_t ssow_deq_timeout_burst[2][2][2] = {
 #define R(name, f2, f1, f0, flags)					\
 	[f2][f1][f0] =  ssows_deq_timeout_burst_ ##name,
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v3 04/10] event/sw: remove single event enqueue and dequeue
  2024-10-17  6:38       ` [RFC v3 00/10] eventdev: remove single-event " Mattias Rönnblom
                           ` (2 preceding siblings ...)
  2024-10-17  6:38         ` [RFC v3 03/10] event/octeontx: " Mattias Rönnblom
@ 2024-10-17  6:38         ` Mattias Rönnblom
  2024-10-17  6:38         ` [RFC v3 05/10] event/dpaa: " Mattias Rönnblom
                           ` (5 subsequent siblings)
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-17  6:38 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Provide only burst enqueue and dequeue.

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/sw/sw_evdev.c        |  2 --
 drivers/event/sw/sw_evdev.h        |  2 --
 drivers/event/sw/sw_evdev_worker.c | 12 ------------
 3 files changed, 16 deletions(-)

diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index 7913bc547e..3ad82e94ac 100644
--- a/drivers/event/sw/sw_evdev.c
+++ b/drivers/event/sw/sw_evdev.c
@@ -1081,11 +1081,9 @@ sw_probe(struct rte_vdev_device *vdev)
 		return -EFAULT;
 	}
 	dev->dev_ops = &evdev_sw_ops;
-	dev->enqueue = sw_event_enqueue;
 	dev->enqueue_burst = sw_event_enqueue_burst;
 	dev->enqueue_new_burst = sw_event_enqueue_burst;
 	dev->enqueue_forward_burst = sw_event_enqueue_burst;
-	dev->dequeue = sw_event_dequeue;
 	dev->dequeue_burst = sw_event_dequeue_burst;
 
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
diff --git a/drivers/event/sw/sw_evdev.h b/drivers/event/sw/sw_evdev.h
index c6e649c70a..f617c7d966 100644
--- a/drivers/event/sw/sw_evdev.h
+++ b/drivers/event/sw/sw_evdev.h
@@ -288,11 +288,9 @@ sw_pmd_priv_const(const struct rte_eventdev *eventdev)
 	return eventdev->data->dev_private;
 }
 
-uint16_t sw_event_enqueue(void *port, const struct rte_event *ev);
 uint16_t sw_event_enqueue_burst(void *port, const struct rte_event ev[],
 		uint16_t num);
 
-uint16_t sw_event_dequeue(void *port, struct rte_event *ev, uint64_t wait);
 uint16_t sw_event_dequeue_burst(void *port, struct rte_event *ev, uint16_t num,
 			uint64_t wait);
 int32_t sw_event_schedule(struct rte_eventdev *dev);
diff --git a/drivers/event/sw/sw_evdev_worker.c b/drivers/event/sw/sw_evdev_worker.c
index 063b919c7e..4215726513 100644
--- a/drivers/event/sw/sw_evdev_worker.c
+++ b/drivers/event/sw/sw_evdev_worker.c
@@ -131,12 +131,6 @@ sw_event_enqueue_burst(void *port, const struct rte_event ev[], uint16_t num)
 	return enq;
 }
 
-uint16_t
-sw_event_enqueue(void *port, const struct rte_event *ev)
-{
-	return sw_event_enqueue_burst(port, ev, 1);
-}
-
 uint16_t
 sw_event_dequeue_burst(void *port, struct rte_event *ev, uint16_t num,
 		uint64_t wait)
@@ -178,9 +172,3 @@ sw_event_dequeue_burst(void *port, struct rte_event *ev, uint16_t num,
 end:
 	return ndeq;
 }
-
-uint16_t
-sw_event_dequeue(void *port, struct rte_event *ev, uint64_t wait)
-{
-	return sw_event_dequeue_burst(port, ev, 1, wait);
-}
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v3 05/10] event/dpaa: remove single event enqueue and dequeue
  2024-10-17  6:38       ` [RFC v3 00/10] eventdev: remove single-event " Mattias Rönnblom
                           ` (3 preceding siblings ...)
  2024-10-17  6:38         ` [RFC v3 04/10] event/sw: " Mattias Rönnblom
@ 2024-10-17  6:38         ` Mattias Rönnblom
  2024-10-17  6:38         ` [RFC v3 06/10] event/dpaa2: " Mattias Rönnblom
                           ` (4 subsequent siblings)
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-17  6:38 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Provide only burst enqueue and dequeue.

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/dpaa/dpaa_eventdev.c | 27 ++-------------------------
 1 file changed, 2 insertions(+), 25 deletions(-)

diff --git a/drivers/event/dpaa/dpaa_eventdev.c b/drivers/event/dpaa/dpaa_eventdev.c
index 85ccb586ef..853cc1ecf9 100644
--- a/drivers/event/dpaa/dpaa_eventdev.c
+++ b/drivers/event/dpaa/dpaa_eventdev.c
@@ -113,12 +113,6 @@ dpaa_event_enqueue_burst(void *port, const struct rte_event ev[],
 	return nb_events;
 }
 
-static uint16_t
-dpaa_event_enqueue(void *port, const struct rte_event *ev)
-{
-	return dpaa_event_enqueue_burst(port, ev, 1);
-}
-
 static void drain_4_bytes(int fd, fd_set *fdset)
 {
 	if (FD_ISSET(fd, fdset)) {
@@ -233,12 +227,6 @@ dpaa_event_dequeue_burst(void *port, struct rte_event ev[],
 	return num_frames;
 }
 
-static uint16_t
-dpaa_event_dequeue(void *port, struct rte_event *ev, uint64_t timeout_ticks)
-{
-	return dpaa_event_dequeue_burst(port, ev, 1, timeout_ticks);
-}
-
 static uint16_t
 dpaa_event_dequeue_burst_intr(void *port, struct rte_event ev[],
 			      uint16_t nb_events, uint64_t timeout_ticks)
@@ -311,14 +299,6 @@ dpaa_event_dequeue_burst_intr(void *port, struct rte_event ev[],
 	return num_frames;
 }
 
-static uint16_t
-dpaa_event_dequeue_intr(void *port,
-			struct rte_event *ev,
-			uint64_t timeout_ticks)
-{
-	return dpaa_event_dequeue_burst_intr(port, ev, 1, timeout_ticks);
-}
-
 static void
 dpaa_event_dev_info_get(struct rte_eventdev *dev,
 			struct rte_event_dev_info *dev_info)
@@ -1012,17 +992,14 @@ dpaa_event_dev_create(const char *name, const char *params, struct rte_vdev_devi
 	priv = eventdev->data->dev_private;
 
 	eventdev->dev_ops       = &dpaa_eventdev_ops;
-	eventdev->enqueue       = dpaa_event_enqueue;
 	eventdev->enqueue_burst = dpaa_event_enqueue_burst;
 
-	if (dpaa_event_check_flags(params)) {
-		eventdev->dequeue	= dpaa_event_dequeue;
+	if (dpaa_event_check_flags(params))
 		eventdev->dequeue_burst = dpaa_event_dequeue_burst;
-	} else {
+	else {
 		priv->intr_mode = 1;
 		eventdev->dev_ops->timeout_ticks =
 				dpaa_event_dequeue_timeout_ticks_intr;
-		eventdev->dequeue	= dpaa_event_dequeue_intr;
 		eventdev->dequeue_burst = dpaa_event_dequeue_burst_intr;
 	}
 	eventdev->txa_enqueue = dpaa_eventdev_txa_enqueue;
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v3 06/10] event/dpaa2: remove single event enqueue and dequeue
  2024-10-17  6:38       ` [RFC v3 00/10] eventdev: remove single-event " Mattias Rönnblom
                           ` (4 preceding siblings ...)
  2024-10-17  6:38         ` [RFC v3 05/10] event/dpaa: " Mattias Rönnblom
@ 2024-10-17  6:38         ` Mattias Rönnblom
  2024-10-17  6:38         ` [RFC v3 07/10] event/opdl: " Mattias Rönnblom
                           ` (3 subsequent siblings)
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-17  6:38 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Provide only burst enqueue and dequeue.

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>

--

RFC v2:
 * Remove unused functions.
---
 drivers/event/dpaa2/dpaa2_eventdev.c | 15 ---------------
 1 file changed, 15 deletions(-)

diff --git a/drivers/event/dpaa2/dpaa2_eventdev.c b/drivers/event/dpaa2/dpaa2_eventdev.c
index f0b2c7de99..6c8ed3ff6b 100644
--- a/drivers/event/dpaa2/dpaa2_eventdev.c
+++ b/drivers/event/dpaa2/dpaa2_eventdev.c
@@ -202,12 +202,6 @@ dpaa2_eventdev_enqueue_burst(void *port, const struct rte_event ev[],
 
 }
 
-static uint16_t
-dpaa2_eventdev_enqueue(void *port, const struct rte_event *ev)
-{
-	return dpaa2_eventdev_enqueue_burst(port, ev, 1);
-}
-
 static void dpaa2_eventdev_dequeue_wait(uint64_t timeout_ticks)
 {
 	struct epoll_event epoll_ev;
@@ -363,13 +357,6 @@ dpaa2_eventdev_dequeue_burst(void *port, struct rte_event ev[],
 	return 0;
 }
 
-static uint16_t
-dpaa2_eventdev_dequeue(void *port, struct rte_event *ev,
-		       uint64_t timeout_ticks)
-{
-	return dpaa2_eventdev_dequeue_burst(port, ev, 1, timeout_ticks);
-}
-
 static void
 dpaa2_eventdev_info_get(struct rte_eventdev *dev,
 			struct rte_event_dev_info *dev_info)
@@ -1105,11 +1092,9 @@ dpaa2_eventdev_create(const char *name, struct rte_vdev_device *vdev)
 	}
 
 	eventdev->dev_ops       = &dpaa2_eventdev_ops;
-	eventdev->enqueue       = dpaa2_eventdev_enqueue;
 	eventdev->enqueue_burst = dpaa2_eventdev_enqueue_burst;
 	eventdev->enqueue_new_burst = dpaa2_eventdev_enqueue_burst;
 	eventdev->enqueue_forward_burst = dpaa2_eventdev_enqueue_burst;
-	eventdev->dequeue       = dpaa2_eventdev_dequeue;
 	eventdev->dequeue_burst = dpaa2_eventdev_dequeue_burst;
 	eventdev->txa_enqueue	= dpaa2_eventdev_txa_enqueue;
 	eventdev->txa_enqueue_same_dest	= dpaa2_eventdev_txa_enqueue_same_dest;
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v3 07/10] event/opdl: remove single event enqueue and dequeue
  2024-10-17  6:38       ` [RFC v3 00/10] eventdev: remove single-event " Mattias Rönnblom
                           ` (5 preceding siblings ...)
  2024-10-17  6:38         ` [RFC v3 06/10] event/dpaa2: " Mattias Rönnblom
@ 2024-10-17  6:38         ` Mattias Rönnblom
  2024-10-17  6:38         ` [RFC v3 08/10] event/cnxk: " Mattias Rönnblom
                           ` (2 subsequent siblings)
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-17  6:38 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Provide only burst enqueue and dequeue.

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/event/opdl/opdl_evdev.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/event/opdl/opdl_evdev.c b/drivers/event/opdl/opdl_evdev.c
index 25853166bf..ffa65ef930 100644
--- a/drivers/event/opdl/opdl_evdev.c
+++ b/drivers/event/opdl/opdl_evdev.c
@@ -718,11 +718,9 @@ opdl_probe(struct rte_vdev_device *vdev)
 
 	dev->dev_ops = &evdev_opdl_ops;
 
-	dev->enqueue = opdl_event_enqueue;
 	dev->enqueue_burst = opdl_event_enqueue_burst;
 	dev->enqueue_new_burst = opdl_event_enqueue_burst;
 	dev->enqueue_forward_burst = opdl_event_enqueue_burst;
-	dev->dequeue = opdl_event_dequeue;
 	dev->dequeue_burst = opdl_event_dequeue_burst;
 
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v3 08/10] event/cnxk: remove single event enqueue and dequeue
  2024-10-17  6:38       ` [RFC v3 00/10] eventdev: remove single-event " Mattias Rönnblom
                           ` (6 preceding siblings ...)
  2024-10-17  6:38         ` [RFC v3 07/10] event/opdl: " Mattias Rönnblom
@ 2024-10-17  6:38         ` 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
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-17  6:38 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Provide only burst enqueue and dequeue.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

--

RFC v3:
 * Rewrite. Pavan Nikhilesh is now the author.
---
 drivers/event/cnxk/cn10k_eventdev.c | 74 ++---------------------------
 drivers/event/cnxk/cn10k_worker.c   | 49 +++++++++----------
 drivers/event/cnxk/cn10k_worker.h   |  1 -
 drivers/event/cnxk/cn9k_eventdev.c  | 73 +---------------------------
 drivers/event/cnxk/cn9k_worker.c    | 26 ++++------
 drivers/event/cnxk/cn9k_worker.h    |  3 --
 6 files changed, 36 insertions(+), 190 deletions(-)

diff --git a/drivers/event/cnxk/cn10k_eventdev.c b/drivers/event/cnxk/cn10k_eventdev.c
index 531c489172..a099356562 100644
--- a/drivers/event/cnxk/cn10k_eventdev.c
+++ b/drivers/event/cnxk/cn10k_eventdev.c
@@ -311,11 +311,6 @@ cn10k_sso_fp_tmplt_fns_set(struct rte_eventdev *event_dev)
 {
 #if !defined(CNXK_DIS_TMPLT_FUNC)
 	struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev);
-	const event_dequeue_t sso_hws_deq[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn10k_sso_hws_deq_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
 
 	const event_dequeue_burst_t sso_hws_deq_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn10k_sso_hws_deq_burst_##name,
@@ -323,86 +318,42 @@ cn10k_sso_fp_tmplt_fns_set(struct rte_eventdev *event_dev)
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_deq_tmo[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn10k_sso_hws_deq_tmo_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_deq_tmo_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn10k_sso_hws_deq_tmo_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_deq_seg[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn10k_sso_hws_deq_seg_##name,
-
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_deq_seg_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn10k_sso_hws_deq_seg_burst_##name,
 			NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_deq_tmo_seg[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn10k_sso_hws_deq_tmo_seg_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_deq_tmo_seg_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn10k_sso_hws_deq_tmo_seg_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_reas_deq[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn10k_sso_hws_reas_deq_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_reas_deq_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn10k_sso_hws_reas_deq_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_reas_deq_tmo[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn10k_sso_hws_reas_deq_tmo_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_reas_deq_tmo_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn10k_sso_hws_reas_deq_tmo_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_reas_deq_seg[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn10k_sso_hws_reas_deq_seg_##name,
-
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_reas_deq_seg_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn10k_sso_hws_reas_deq_seg_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_reas_deq_tmo_seg[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn10k_sso_hws_reas_deq_tmo_seg_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_reas_deq_tmo_seg_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn10k_sso_hws_reas_deq_tmo_seg_burst_##name,
 		NIX_RX_FASTPATH_MODES
@@ -424,48 +375,33 @@ cn10k_sso_fp_tmplt_fns_set(struct rte_eventdev *event_dev)
 
 	if (dev->rx_offloads & NIX_RX_MULTI_SEG_F) {
 		if (dev->rx_offloads & NIX_RX_REAS_F) {
-			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue, sso_hws_reas_deq_seg);
 			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 					       sso_hws_reas_deq_seg_burst);
-			if (dev->is_timeout_deq) {
-				CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
-						       sso_hws_reas_deq_tmo_seg);
+			if (dev->is_timeout_deq)
 				CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 						       sso_hws_reas_deq_tmo_seg_burst);
-			}
 		} else {
-			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue, sso_hws_deq_seg);
 			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 					       sso_hws_deq_seg_burst);
 
-			if (dev->is_timeout_deq) {
-				CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
-						       sso_hws_deq_tmo_seg);
+			if (dev->is_timeout_deq)
 				CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 						       sso_hws_deq_tmo_seg_burst);
-			}
 		}
 	} else {
 		if (dev->rx_offloads & NIX_RX_REAS_F) {
-			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue, sso_hws_reas_deq);
 			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 					       sso_hws_reas_deq_burst);
 
-			if (dev->is_timeout_deq) {
-				CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
-						       sso_hws_reas_deq_tmo);
+			if (dev->is_timeout_deq)
 				CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 						       sso_hws_reas_deq_tmo_burst);
-			}
 		} else {
-			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue, sso_hws_deq);
 			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst, sso_hws_deq_burst);
 
-			if (dev->is_timeout_deq) {
-				CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue, sso_hws_deq_tmo);
+			if (dev->is_timeout_deq)
 				CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 						       sso_hws_deq_tmo_burst);
-			}
 		}
 	}
 
@@ -514,7 +450,6 @@ cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 	cn10k_sso_fp_blk_fns_set(event_dev);
 	cn10k_sso_fp_tmplt_fns_set(event_dev);
 
-	event_dev->enqueue = cn10k_sso_hws_enq;
 	event_dev->enqueue_burst = cn10k_sso_hws_enq_burst;
 	event_dev->enqueue_new_burst = cn10k_sso_hws_enq_new_burst;
 	event_dev->enqueue_forward_burst = cn10k_sso_hws_enq_fwd_burst;
@@ -848,7 +783,6 @@ eventdev_fops_update(struct rte_eventdev *event_dev)
 	struct rte_event_fp_ops *fp_op =
 		rte_event_fp_ops + event_dev->data->dev_id;
 
-	fp_op->dequeue = event_dev->dequeue;
 	fp_op->dequeue_burst = event_dev->dequeue_burst;
 }
 
diff --git a/drivers/event/cnxk/cn10k_worker.c b/drivers/event/cnxk/cn10k_worker.c
index a0e85face1..c49138316c 100644
--- a/drivers/event/cnxk/cn10k_worker.c
+++ b/drivers/event/cnxk/cn10k_worker.c
@@ -107,32 +107,6 @@ sso_lmt_aw_wait_fc(struct cn10k_sso_hws *ws, int64_t req)
 	}
 }
 
-uint16_t __rte_hot
-cn10k_sso_hws_enq(void *port, const struct rte_event *ev)
-{
-	struct cn10k_sso_hws *ws = port;
-
-	switch (ev->op) {
-	case RTE_EVENT_OP_NEW:
-		return cn10k_sso_hws_new_event(ws, ev);
-	case RTE_EVENT_OP_FORWARD:
-		cn10k_sso_hws_forward_event(ws, ev);
-		break;
-	case RTE_EVENT_OP_RELEASE:
-		if (ws->swtag_req) {
-			cnxk_sso_hws_desched(ev->u64, ws->base);
-			ws->swtag_req = 0;
-			break;
-		}
-		cnxk_sso_hws_swtag_flush(ws->base);
-		break;
-	default:
-		return 0;
-	}
-
-	return 1;
-}
-
 #define VECTOR_SIZE_BITS	     0xFFFFFFFFFFF80000ULL
 #define VECTOR_GET_LINE_OFFSET(line) (19 + (3 * line))
 
@@ -384,8 +358,29 @@ uint16_t __rte_hot
 cn10k_sso_hws_enq_burst(void *port, const struct rte_event ev[],
 			uint16_t nb_events)
 {
+	struct cn10k_sso_hws *ws = port;
+
 	RTE_SET_USED(nb_events);
-	return cn10k_sso_hws_enq(port, ev);
+
+	switch (ev->op) {
+	case RTE_EVENT_OP_NEW:
+		return cn10k_sso_hws_new_event(ws, ev);
+	case RTE_EVENT_OP_FORWARD:
+		cn10k_sso_hws_forward_event(ws, ev);
+		break;
+	case RTE_EVENT_OP_RELEASE:
+		if (ws->swtag_req) {
+			cnxk_sso_hws_desched(ev->u64, ws->base);
+			ws->swtag_req = 0;
+			break;
+		}
+		cnxk_sso_hws_swtag_flush(ws->base);
+		break;
+	default:
+		return 0;
+	}
+
+	return 1;
 }
 
 uint16_t __rte_hot
diff --git a/drivers/event/cnxk/cn10k_worker.h b/drivers/event/cnxk/cn10k_worker.h
index 4785cc6575..f0bfa12640 100644
--- a/drivers/event/cnxk/cn10k_worker.h
+++ b/drivers/event/cnxk/cn10k_worker.h
@@ -366,7 +366,6 @@ cn10k_sso_hws_get_work_empty(struct cn10k_sso_hws *ws, struct rte_event *ev,
 }
 
 /* CN10K Fastpath functions. */
-uint16_t __rte_hot cn10k_sso_hws_enq(void *port, const struct rte_event *ev);
 uint16_t __rte_hot cn10k_sso_hws_enq_burst(void *port,
 					   const struct rte_event ev[],
 					   uint16_t nb_events);
diff --git a/drivers/event/cnxk/cn9k_eventdev.c b/drivers/event/cnxk/cn9k_eventdev.c
index 377e910837..431e1670d5 100644
--- a/drivers/event/cnxk/cn9k_eventdev.c
+++ b/drivers/event/cnxk/cn9k_eventdev.c
@@ -314,48 +314,24 @@ cn9k_sso_fp_tmplt_fns_set(struct rte_eventdev *event_dev)
 #if !defined(CNXK_DIS_TMPLT_FUNC)
 	struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev);
 	/* Single WS modes */
-	const event_dequeue_t sso_hws_deq[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn9k_sso_hws_deq_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_deq_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn9k_sso_hws_deq_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_deq_tmo[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn9k_sso_hws_deq_tmo_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_deq_tmo_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn9k_sso_hws_deq_tmo_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_deq_seg[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn9k_sso_hws_deq_seg_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_deq_seg_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn9k_sso_hws_deq_seg_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_deq_tmo_seg[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn9k_sso_hws_deq_tmo_seg_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_deq_tmo_seg_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn9k_sso_hws_deq_tmo_seg_burst_##name,
 		NIX_RX_FASTPATH_MODES
@@ -363,48 +339,24 @@ cn9k_sso_fp_tmplt_fns_set(struct rte_eventdev *event_dev)
 	};
 
 	/* Dual WS modes */
-	const event_dequeue_t sso_hws_dual_deq[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn9k_sso_hws_dual_deq_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_dual_deq_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn9k_sso_hws_dual_deq_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_dual_deq_tmo[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn9k_sso_hws_dual_deq_tmo_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_dual_deq_tmo_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn9k_sso_hws_dual_deq_tmo_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_dual_deq_seg[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn9k_sso_hws_dual_deq_seg_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_dual_deq_seg_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn9k_sso_hws_dual_deq_seg_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_dual_deq_tmo_seg[NIX_RX_OFFLOAD_MAX] = {
-#define R(name, flags)[flags] = cn9k_sso_hws_dual_deq_tmo_seg_##name,
-		NIX_RX_FASTPATH_MODES
-#undef R
-	};
-
 	const event_dequeue_burst_t sso_hws_dual_deq_tmo_seg_burst[NIX_RX_OFFLOAD_MAX] = {
 #define R(name, flags)[flags] = cn9k_sso_hws_dual_deq_tmo_seg_burst_##name,
 		NIX_RX_FASTPATH_MODES
@@ -436,31 +388,22 @@ cn9k_sso_fp_tmplt_fns_set(struct rte_eventdev *event_dev)
 #undef T
 	};
 
-	event_dev->enqueue = cn9k_sso_hws_enq;
 	event_dev->enqueue_burst = cn9k_sso_hws_enq_burst;
 	event_dev->enqueue_new_burst = cn9k_sso_hws_enq_new_burst;
 	event_dev->enqueue_forward_burst = cn9k_sso_hws_enq_fwd_burst;
 	event_dev->profile_switch = cn9k_sso_hws_profile_switch;
 	if (dev->rx_offloads & NIX_RX_MULTI_SEG_F) {
-		CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue, sso_hws_deq_seg);
 		CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 				      sso_hws_deq_seg_burst);
-		if (dev->is_timeout_deq) {
-			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
-					      sso_hws_deq_tmo_seg);
+		if (dev->is_timeout_deq)
 			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 					      sso_hws_deq_tmo_seg_burst);
-		}
 	} else {
-		CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue, sso_hws_deq);
 		CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 				      sso_hws_deq_burst);
-		if (dev->is_timeout_deq) {
-			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
-					      sso_hws_deq_tmo);
+		if (dev->is_timeout_deq)
 			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 					      sso_hws_deq_tmo_burst);
-		}
 	}
 	event_dev->ca_enqueue = cn9k_sso_hws_ca_enq;
 	event_dev->dma_enqueue = cn9k_dma_adapter_enqueue;
@@ -473,7 +416,6 @@ cn9k_sso_fp_tmplt_fns_set(struct rte_eventdev *event_dev)
 				      sso_hws_tx_adptr_enq);
 
 	if (dev->dual_ws) {
-		event_dev->enqueue = cn9k_sso_hws_dual_enq;
 		event_dev->enqueue_burst = cn9k_sso_hws_dual_enq_burst;
 		event_dev->enqueue_new_burst = cn9k_sso_hws_dual_enq_new_burst;
 		event_dev->enqueue_forward_burst =
@@ -483,25 +425,17 @@ cn9k_sso_fp_tmplt_fns_set(struct rte_eventdev *event_dev)
 		event_dev->profile_switch = cn9k_sso_hws_dual_profile_switch;
 
 		if (dev->rx_offloads & NIX_RX_MULTI_SEG_F) {
-			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
-					      sso_hws_dual_deq_seg);
 			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 					      sso_hws_dual_deq_seg_burst);
 			if (dev->is_timeout_deq) {
-				CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
-						      sso_hws_dual_deq_tmo_seg);
 				CN9K_SET_EVDEV_DEQ_OP(
 					dev, event_dev->dequeue_burst,
 					sso_hws_dual_deq_tmo_seg_burst);
 			}
 		} else {
-			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
-					      sso_hws_dual_deq);
 			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 					      sso_hws_dual_deq_burst);
 			if (dev->is_timeout_deq) {
-				CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
-						      sso_hws_dual_deq_tmo);
 				CN9K_SET_EVDEV_DEQ_OP(
 					dev, event_dev->dequeue_burst,
 					sso_hws_dual_deq_tmo_burst);
@@ -573,7 +507,6 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 	cn9k_sso_fp_blk_fns_set(event_dev);
 	cn9k_sso_fp_tmplt_fns_set(event_dev);
 
-	event_dev->enqueue = cn9k_sso_hws_enq;
 	event_dev->enqueue_burst = cn9k_sso_hws_enq_burst;
 	event_dev->enqueue_new_burst = cn9k_sso_hws_enq_new_burst;
 	event_dev->enqueue_forward_burst = cn9k_sso_hws_enq_fwd_burst;
@@ -581,7 +514,6 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 	event_dev->profile_switch = cn9k_sso_hws_profile_switch;
 
 	if (dev->dual_ws) {
-		event_dev->enqueue = cn9k_sso_hws_dual_enq;
 		event_dev->enqueue_burst = cn9k_sso_hws_dual_enq_burst;
 		event_dev->enqueue_new_burst = cn9k_sso_hws_dual_enq_new_burst;
 		event_dev->enqueue_forward_burst = cn9k_sso_hws_dual_enq_fwd_burst;
@@ -917,7 +849,6 @@ eventdev_fops_tstamp_update(struct rte_eventdev *event_dev)
 	struct rte_event_fp_ops *fp_op =
 		rte_event_fp_ops + event_dev->data->dev_id;
 
-	fp_op->dequeue = event_dev->dequeue;
 	fp_op->dequeue_burst = event_dev->dequeue_burst;
 }
 
diff --git a/drivers/event/cnxk/cn9k_worker.c b/drivers/event/cnxk/cn9k_worker.c
index a9ac49a5a7..86aa3f1c30 100644
--- a/drivers/event/cnxk/cn9k_worker.c
+++ b/drivers/event/cnxk/cn9k_worker.c
@@ -8,10 +8,13 @@
 #include "cn9k_cryptodev_ops.h"
 
 uint16_t __rte_hot
-cn9k_sso_hws_enq(void *port, const struct rte_event *ev)
+cn9k_sso_hws_enq_burst(void *port, const struct rte_event ev[],
+		       uint16_t nb_events)
 {
 	struct cn9k_sso_hws *ws = port;
 
+	RTE_SET_USED(nb_events);
+
 	switch (ev->op) {
 	case RTE_EVENT_OP_NEW:
 		return cn9k_sso_hws_new_event(ws, ev);
@@ -33,14 +36,6 @@ cn9k_sso_hws_enq(void *port, const struct rte_event *ev)
 	return 1;
 }
 
-uint16_t __rte_hot
-cn9k_sso_hws_enq_burst(void *port, const struct rte_event ev[],
-		       uint16_t nb_events)
-{
-	RTE_SET_USED(nb_events);
-	return cn9k_sso_hws_enq(port, ev);
-}
-
 uint16_t __rte_hot
 cn9k_sso_hws_enq_new_burst(void *port, const struct rte_event ev[],
 			   uint16_t nb_events)
@@ -80,11 +75,14 @@ cn9k_sso_hws_profile_switch(void *port, uint8_t profile)
 /* Dual ws ops. */
 
 uint16_t __rte_hot
-cn9k_sso_hws_dual_enq(void *port, const struct rte_event *ev)
+cn9k_sso_hws_dual_enq_burst(void *port, const struct rte_event ev[],
+			    uint16_t nb_events)
 {
 	struct cn9k_sso_hws_dual *dws = port;
 	uint64_t base;
 
+	RTE_SET_USED(nb_events);
+
 	base = dws->base[!dws->vws];
 	switch (ev->op) {
 	case RTE_EVENT_OP_NEW:
@@ -107,14 +105,6 @@ cn9k_sso_hws_dual_enq(void *port, const struct rte_event *ev)
 	return 1;
 }
 
-uint16_t __rte_hot
-cn9k_sso_hws_dual_enq_burst(void *port, const struct rte_event ev[],
-			    uint16_t nb_events)
-{
-	RTE_SET_USED(nb_events);
-	return cn9k_sso_hws_dual_enq(port, ev);
-}
-
 uint16_t __rte_hot
 cn9k_sso_hws_dual_enq_new_burst(void *port, const struct rte_event ev[],
 				uint16_t nb_events)
diff --git a/drivers/event/cnxk/cn9k_worker.h b/drivers/event/cnxk/cn9k_worker.h
index c92fa72f11..635c2f6e9a 100644
--- a/drivers/event/cnxk/cn9k_worker.h
+++ b/drivers/event/cnxk/cn9k_worker.h
@@ -359,7 +359,6 @@ cn9k_sso_hws_get_work_empty(uint64_t base, struct rte_event *ev,
 }
 
 /* CN9K Fastpath functions. */
-uint16_t __rte_hot cn9k_sso_hws_enq(void *port, const struct rte_event *ev);
 uint16_t __rte_hot cn9k_sso_hws_enq_burst(void *port,
 					  const struct rte_event ev[],
 					  uint16_t nb_events);
@@ -371,8 +370,6 @@ uint16_t __rte_hot cn9k_sso_hws_enq_fwd_burst(void *port,
 					      uint16_t nb_events);
 int __rte_hot cn9k_sso_hws_profile_switch(void *port, uint8_t profile);
 
-uint16_t __rte_hot cn9k_sso_hws_dual_enq(void *port,
-					 const struct rte_event *ev);
 uint16_t __rte_hot cn9k_sso_hws_dual_enq_burst(void *port,
 					       const struct rte_event ev[],
 					       uint16_t nb_events);
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v3 09/10] event/skeleton: remove single event enqueue and dequeue
  2024-10-17  6:38       ` [RFC v3 00/10] eventdev: remove single-event " Mattias Rönnblom
                           ` (7 preceding siblings ...)
  2024-10-17  6:38         ` [RFC v3 08/10] event/cnxk: " Mattias Rönnblom
@ 2024-10-17  6:38         ` Mattias Rönnblom
  2024-10-17  6:38         ` [RFC v3 10/10] eventdev: " Mattias Rönnblom
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-17  6:38 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

Provide only burst enqueue and dequeue.

Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>

--

RFC v2:
 * Remove unused functions.
---
 drivers/event/skeleton/skeleton_eventdev.c | 29 ----------------------
 1 file changed, 29 deletions(-)

diff --git a/drivers/event/skeleton/skeleton_eventdev.c b/drivers/event/skeleton/skeleton_eventdev.c
index 848b3be82c..73a1e4e008 100644
--- a/drivers/event/skeleton/skeleton_eventdev.c
+++ b/drivers/event/skeleton/skeleton_eventdev.c
@@ -25,18 +25,6 @@
 #define EVENTDEV_NAME_SKELETON_PMD event_skeleton
 /**< Skeleton event device PMD name */
 
-static uint16_t
-skeleton_eventdev_enqueue(void *port, const struct rte_event *ev)
-{
-	struct skeleton_port *sp = port;
-
-	RTE_SET_USED(sp);
-	RTE_SET_USED(ev);
-	RTE_SET_USED(port);
-
-	return 0;
-}
-
 static uint16_t
 skeleton_eventdev_enqueue_burst(void *port, const struct rte_event ev[],
 			uint16_t nb_events)
@@ -51,19 +39,6 @@ skeleton_eventdev_enqueue_burst(void *port, const struct rte_event ev[],
 	return 0;
 }
 
-static uint16_t
-skeleton_eventdev_dequeue(void *port, struct rte_event *ev,
-				uint64_t timeout_ticks)
-{
-	struct skeleton_port *sp = port;
-
-	RTE_SET_USED(sp);
-	RTE_SET_USED(ev);
-	RTE_SET_USED(timeout_ticks);
-
-	return 0;
-}
-
 static uint16_t
 skeleton_eventdev_dequeue_burst(void *port, struct rte_event ev[],
 		uint16_t nb_events, uint64_t timeout_ticks)
@@ -350,9 +325,7 @@ skeleton_eventdev_init(struct rte_eventdev *eventdev)
 	PMD_DRV_FUNC_TRACE();
 
 	eventdev->dev_ops       = &skeleton_eventdev_ops;
-	eventdev->enqueue       = skeleton_eventdev_enqueue;
 	eventdev->enqueue_burst = skeleton_eventdev_enqueue_burst;
-	eventdev->dequeue       = skeleton_eventdev_dequeue;
 	eventdev->dequeue_burst = skeleton_eventdev_dequeue_burst;
 
 	/* For secondary processes, the primary has done all the work */
@@ -440,9 +413,7 @@ skeleton_eventdev_create(const char *name, int socket_id, struct rte_vdev_device
 	}
 
 	eventdev->dev_ops       = &skeleton_eventdev_ops;
-	eventdev->enqueue       = skeleton_eventdev_enqueue;
 	eventdev->enqueue_burst = skeleton_eventdev_enqueue_burst;
-	eventdev->dequeue       = skeleton_eventdev_dequeue;
 	eventdev->dequeue_burst = skeleton_eventdev_dequeue_burst;
 
 	event_dev_probing_finish(eventdev);
-- 
2.43.0


^ permalink raw reply	[flat|nested] 39+ messages in thread

* [RFC v3 10/10] eventdev: remove single event enqueue and dequeue
  2024-10-17  6:38       ` [RFC v3 00/10] eventdev: remove single-event " Mattias Rönnblom
                           ` (8 preceding siblings ...)
  2024-10-17  6:38         ` [RFC v3 09/10] event/skeleton: " Mattias Rönnblom
@ 2024-10-17  6:38         ` Mattias Rönnblom
  9 siblings, 0 replies; 39+ messages in thread
From: Mattias Rönnblom @ 2024-10-17  6:38 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: dev, Mattias Rönnblom, David Marchand, Stephen Hemminger,
	Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
	Pavan Nikhilesh, Shijith Thotton, Harry van Haaren,
	Mattias Rönnblom

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 20fcfedb7b..f501923fb5 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/doc/guides/rel_notes/release_24_11.rst b/doc/guides/rel_notes/release_24_11.rst
index acc512c70a..d356e1edc5 100644
--- a/doc/guides/rel_notes/release_24_11.rst
+++ b/doc/guides/rel_notes/release_24_11.rst
@@ -323,6 +323,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


^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2024-10-17  6:49 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-10-15  8:49 [RFC 00/10] eventdev: remove single-event enqueue and dequeue 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     ` [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

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).