* [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
` (12 subsequent siblings)
13 siblings, 0 replies; 66+ 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] 66+ 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
` (11 subsequent siblings)
13 siblings, 0 replies; 66+ 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] 66+ 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
` (10 subsequent siblings)
13 siblings, 0 replies; 66+ 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] 66+ 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
` (9 subsequent siblings)
13 siblings, 0 replies; 66+ 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] 66+ 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
` (8 subsequent siblings)
13 siblings, 0 replies; 66+ 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] 66+ 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
` (7 subsequent siblings)
13 siblings, 0 replies; 66+ 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] 66+ 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
` (6 subsequent siblings)
13 siblings, 0 replies; 66+ 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] 66+ 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
` (5 subsequent siblings)
13 siblings, 0 replies; 66+ 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] 66+ 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
` (4 subsequent siblings)
13 siblings, 0 replies; 66+ 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] 66+ 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
2024-10-21 7:25 ` [RFC v3 00/10] eventdev: remove single-event " Jerin Jacob
` (3 subsequent siblings)
13 siblings, 0 replies; 66+ 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] 66+ messages in thread
* Re: [RFC v3 00/10] eventdev: remove single-event enqueue and dequeue
2024-10-17 6:38 ` [RFC v3 00/10] eventdev: remove single-event " Mattias Rönnblom
` (9 preceding siblings ...)
2024-10-17 6:38 ` [RFC v3 10/10] eventdev: " Mattias Rönnblom
@ 2024-10-21 7:25 ` Jerin Jacob
2024-10-21 8:38 ` Mattias Rönnblom
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
` (2 subsequent siblings)
13 siblings, 1 reply; 66+ messages in thread
From: Jerin Jacob @ 2024-10-21 7:25 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 Fri, Oct 18, 2024 at 1:14 AM 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 (9):
Changes look good. Please send the NON RFC version of the series ASAP.
I will merge it for rc2 (rc1 is created now)
> 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
> 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] 66+ messages in thread
* Re: [RFC v3 00/10] eventdev: remove single-event enqueue and dequeue
2024-10-21 7:25 ` [RFC v3 00/10] eventdev: remove single-event " Jerin Jacob
@ 2024-10-21 8:38 ` Mattias Rönnblom
0 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 8:38 UTC (permalink / raw)
To: Jerin Jacob, Mattias Rönnblom
Cc: Jerin Jacob, dev, David Marchand, Stephen Hemminger,
Anoob Joseph, Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
Pavan Nikhilesh, Shijith Thotton, Harry van Haaren
On 2024-10-21 09:25, Jerin Jacob wrote:
> On Fri, Oct 18, 2024 at 1:14 AM 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 (9):
>
> Changes look good. Please send the NON RFC version of the series ASAP.
> I will merge it for rc2 (rc1 is created now)
>
Without any more changes? OK.
>> 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
>> 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] 66+ messages in thread
* [PATCH 00/10] eventdev: remove single-event enqueue and dequeue
2024-10-17 6:38 ` [RFC v3 00/10] eventdev: remove single-event " Mattias Rönnblom
` (10 preceding siblings ...)
2024-10-21 7:25 ` [RFC v3 00/10] eventdev: remove single-event " Jerin Jacob
@ 2024-10-21 8:51 ` Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 01/10] event/dsw: remove single event " Mattias Rönnblom
` (10 more replies)
2024-10-21 9:05 ` [PATCH 01/10] event/dsw: remove single event " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
13 siblings, 11 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 8:51 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 deprecation 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] 66+ messages in thread
* [PATCH 01/10] event/dsw: remove single event enqueue and dequeue
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
@ 2024-10-21 8:51 ` Mattias Rönnblom
2024-10-22 17:15 ` Jerin Jacob
2024-10-21 8:51 ` [PATCH 02/10] event/dlb2: " Mattias Rönnblom
` (9 subsequent siblings)
10 siblings, 1 reply; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 8:51 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] 66+ messages in thread
* Re: [PATCH 01/10] event/dsw: remove single event enqueue and dequeue
2024-10-21 8:51 ` [PATCH 01/10] event/dsw: remove single event " Mattias Rönnblom
@ 2024-10-22 17:15 ` Jerin Jacob
0 siblings, 0 replies; 66+ messages in thread
From: Jerin Jacob @ 2024-10-22 17:15 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 Mon, Oct 21, 2024 at 3:04 PM Mattias Rönnblom
<mattias.ronnblom@ericsson.com> wrote:
>
> Provide only burst enqueue and dequeue.
>
> Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
Series applied to dpdk-next-eventdev/for-main. Thanks.
Also, Squashed https://patches.dpdk.org/project/dpdk/patch/20241022045950.9975-1-pbhagavatula@marvell.com/
to relevant patch.
^ permalink raw reply [flat|nested] 66+ messages in thread
* [PATCH 02/10] event/dlb2: remove single event enqueue and dequeue
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 01/10] event/dsw: remove single event " Mattias Rönnblom
@ 2024-10-21 8:51 ` Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 03/10] event/octeontx: " Mattias Rönnblom
` (8 subsequent siblings)
10 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 8:51 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] 66+ messages in thread
* [PATCH 03/10] event/octeontx: remove single event enqueue and dequeue
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 01/10] event/dsw: remove single event " Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 02/10] event/dlb2: " Mattias Rönnblom
@ 2024-10-21 8:51 ` Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 04/10] event/sw: " Mattias Rönnblom
` (7 subsequent siblings)
10 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 8:51 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] 66+ messages in thread
* [PATCH 04/10] event/sw: remove single event enqueue and dequeue
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
` (2 preceding siblings ...)
2024-10-21 8:51 ` [PATCH 03/10] event/octeontx: " Mattias Rönnblom
@ 2024-10-21 8:51 ` Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 05/10] event/dpaa: " Mattias Rönnblom
` (6 subsequent siblings)
10 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 8:51 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] 66+ messages in thread
* [PATCH 05/10] event/dpaa: remove single event enqueue and dequeue
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
` (3 preceding siblings ...)
2024-10-21 8:51 ` [PATCH 04/10] event/sw: " Mattias Rönnblom
@ 2024-10-21 8:51 ` Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 06/10] event/dpaa2: " Mattias Rönnblom
` (5 subsequent siblings)
10 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 8:51 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] 66+ messages in thread
* [PATCH 06/10] event/dpaa2: remove single event enqueue and dequeue
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
` (4 preceding siblings ...)
2024-10-21 8:51 ` [PATCH 05/10] event/dpaa: " Mattias Rönnblom
@ 2024-10-21 8:51 ` Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 07/10] event/opdl: " Mattias Rönnblom
` (4 subsequent siblings)
10 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 8:51 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] 66+ messages in thread
* [PATCH 07/10] event/opdl: remove single event enqueue and dequeue
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
` (5 preceding siblings ...)
2024-10-21 8:51 ` [PATCH 06/10] event/dpaa2: " Mattias Rönnblom
@ 2024-10-21 8:51 ` Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 08/10] event/cnxk: " Mattias Rönnblom
` (3 subsequent siblings)
10 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 8:51 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] 66+ messages in thread
* [PATCH 08/10] event/cnxk: remove single event enqueue and dequeue
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
` (6 preceding siblings ...)
2024-10-21 8:51 ` [PATCH 07/10] event/opdl: " Mattias Rönnblom
@ 2024-10-21 8:51 ` Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 09/10] event/skeleton: " Mattias Rönnblom
` (2 subsequent siblings)
10 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 8:51 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] 66+ messages in thread
* [PATCH 09/10] event/skeleton: remove single event enqueue and dequeue
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
` (7 preceding siblings ...)
2024-10-21 8:51 ` [PATCH 08/10] event/cnxk: " Mattias Rönnblom
@ 2024-10-21 8:51 ` Mattias Rönnblom
2024-10-21 8:51 ` [PATCH 10/10] eventdev: " Mattias Rönnblom
2024-10-21 9:21 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
10 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 8:51 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] 66+ messages in thread
* [PATCH 10/10] eventdev: remove single event enqueue and dequeue
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
` (8 preceding siblings ...)
2024-10-21 8:51 ` [PATCH 09/10] event/skeleton: " Mattias Rönnblom
@ 2024-10-21 8:51 ` Mattias Rönnblom
2024-10-21 9:21 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
10 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 8:51 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 17b7332007..a90b54fc77 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -131,11 +131,7 @@ Deprecation Notices
* eventdev: The single-event (non-burst) enqueue and dequeue operations,
used by static inline burst enqueue and dequeue functions in ``rte_eventdev.h``,
- will be removed in DPDK 23.11.
- This simplification includes changing the layout and potentially also
- the size of the public ``rte_event_fp_ops`` struct, breaking the ABI.
- Since these functions are not called directly by the application,
- the API remains unaffected.
+ are removed in DPDK 24.11.
* pipeline: The pipeline library legacy API (functions rte_pipeline_*)
will be deprecated and subsequently removed in DPDK 24.11 release.
diff --git a/doc/guides/rel_notes/release_24_11.rst b/doc/guides/rel_notes/release_24_11.rst
index fa4822d928..5461798970 100644
--- a/doc/guides/rel_notes/release_24_11.rst
+++ b/doc/guides/rel_notes/release_24_11.rst
@@ -401,6 +401,9 @@ ABI Changes
* eventdev: Added ``preschedule_type`` field to ``rte_event_dev_config`` structure.
+* eventdev: The PMD single-event enqueue and dequeue function pointers are removed
+ from ``rte_event_fp_fps``.
+
* graph: To accommodate node specific xstats counters, added ``xstat_cntrs``,
``xstat_desc`` and ``xstat_count`` to ``rte_graph_cluster_node_stats``,
added new structure ``rte_node_xstats`` to ``rte_node_register`` and
diff --git a/lib/eventdev/eventdev_pmd.h b/lib/eventdev/eventdev_pmd.h
index af855e3467..36148f8d86 100644
--- a/lib/eventdev/eventdev_pmd.h
+++ b/lib/eventdev/eventdev_pmd.h
@@ -158,16 +158,12 @@ struct __rte_cache_aligned rte_eventdev {
uint8_t attached : 1;
/**< Flag indicating the device is attached */
- event_enqueue_t enqueue;
- /**< Pointer to PMD enqueue function. */
event_enqueue_burst_t enqueue_burst;
/**< Pointer to PMD enqueue burst function. */
event_enqueue_burst_t enqueue_new_burst;
/**< Pointer to PMD enqueue burst function(op new variant) */
event_enqueue_burst_t enqueue_forward_burst;
/**< Pointer to PMD enqueue burst function(op forward variant) */
- event_dequeue_t dequeue;
- /**< Pointer to PMD dequeue function. */
event_dequeue_burst_t dequeue_burst;
/**< Pointer to PMD dequeue burst function. */
event_maintain_t maintain;
diff --git a/lib/eventdev/eventdev_private.c b/lib/eventdev/eventdev_private.c
index b628f4a69e..6df129fc2d 100644
--- a/lib/eventdev/eventdev_private.c
+++ b/lib/eventdev/eventdev_private.c
@@ -5,15 +5,6 @@
#include "eventdev_pmd.h"
#include "rte_eventdev.h"
-static uint16_t
-dummy_event_enqueue(__rte_unused void *port,
- __rte_unused const struct rte_event *ev)
-{
- RTE_EDEV_LOG_ERR(
- "event enqueue requested for unconfigured event device");
- return 0;
-}
-
static uint16_t
dummy_event_enqueue_burst(__rte_unused void *port,
__rte_unused const struct rte_event ev[],
@@ -24,15 +15,6 @@ dummy_event_enqueue_burst(__rte_unused void *port,
return 0;
}
-static uint16_t
-dummy_event_dequeue(__rte_unused void *port, __rte_unused struct rte_event *ev,
- __rte_unused uint64_t timeout_ticks)
-{
- RTE_EDEV_LOG_ERR(
- "event dequeue requested for unconfigured event device");
- return 0;
-}
-
static uint16_t
dummy_event_dequeue_burst(__rte_unused void *port,
__rte_unused struct rte_event ev[],
@@ -129,11 +111,9 @@ event_dev_fp_ops_reset(struct rte_event_fp_ops *fp_op)
{
static void *dummy_data[RTE_MAX_QUEUES_PER_PORT];
static const struct rte_event_fp_ops dummy = {
- .enqueue = dummy_event_enqueue,
.enqueue_burst = dummy_event_enqueue_burst,
.enqueue_new_burst = dummy_event_enqueue_burst,
.enqueue_forward_burst = dummy_event_enqueue_burst,
- .dequeue = dummy_event_dequeue,
.dequeue_burst = dummy_event_dequeue_burst,
.maintain = dummy_event_maintain,
.txa_enqueue = dummy_event_tx_adapter_enqueue,
@@ -153,11 +133,9 @@ void
event_dev_fp_ops_set(struct rte_event_fp_ops *fp_op,
const struct rte_eventdev *dev)
{
- fp_op->enqueue = dev->enqueue;
fp_op->enqueue_burst = dev->enqueue_burst;
fp_op->enqueue_new_burst = dev->enqueue_new_burst;
fp_op->enqueue_forward_burst = dev->enqueue_forward_burst;
- fp_op->dequeue = dev->dequeue;
fp_op->dequeue_burst = dev->dequeue_burst;
fp_op->maintain = dev->maintain;
fp_op->txa_enqueue = dev->txa_enqueue;
diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index b5c3c16dd0..fabd1490db 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -2596,14 +2596,8 @@ __rte_event_enqueue_burst(uint8_t dev_id, uint8_t port_id,
}
#endif
rte_eventdev_trace_enq_burst(dev_id, port_id, ev, nb_events, (void *)fn);
- /*
- * Allow zero cost non burst mode routine invocation if application
- * requests nb_events as const one
- */
- if (nb_events == 1)
- return (fp_ops->enqueue)(port, ev);
- else
- return fn(port, ev, nb_events);
+
+ return fn(port, ev, nb_events);
}
/**
@@ -2852,15 +2846,8 @@ rte_event_dequeue_burst(uint8_t dev_id, uint8_t port_id, struct rte_event ev[],
}
#endif
rte_eventdev_trace_deq_burst(dev_id, port_id, ev, nb_events);
- /*
- * Allow zero cost non burst mode routine invocation if application
- * requests nb_events as const one
- */
- if (nb_events == 1)
- return (fp_ops->dequeue)(port, ev, timeout_ticks);
- else
- return (fp_ops->dequeue_burst)(port, ev, nb_events,
- timeout_ticks);
+
+ return (fp_ops->dequeue_burst)(port, ev, nb_events, timeout_ticks);
}
#define RTE_EVENT_DEV_MAINT_OP_FLUSH (1 << 0)
diff --git a/lib/eventdev/rte_eventdev_core.h b/lib/eventdev/rte_eventdev_core.h
index 2706d5e6c8..1818483044 100644
--- a/lib/eventdev/rte_eventdev_core.h
+++ b/lib/eventdev/rte_eventdev_core.h
@@ -12,18 +12,11 @@
extern "C" {
#endif
-typedef uint16_t (*event_enqueue_t)(void *port, const struct rte_event *ev);
-/**< @internal Enqueue event on port of a device */
-
typedef uint16_t (*event_enqueue_burst_t)(void *port,
const struct rte_event ev[],
uint16_t nb_events);
/**< @internal Enqueue burst of events on port of a device */
-typedef uint16_t (*event_dequeue_t)(void *port, struct rte_event *ev,
- uint64_t timeout_ticks);
-/**< @internal Dequeue event from port of a device */
-
typedef uint16_t (*event_dequeue_burst_t)(void *port, struct rte_event ev[],
uint16_t nb_events,
uint64_t timeout_ticks);
@@ -60,16 +53,12 @@ typedef void (*event_preschedule_t)(void *port,
struct __rte_cache_aligned rte_event_fp_ops {
void **data;
/**< points to array of internal port data pointers */
- event_enqueue_t enqueue;
- /**< PMD enqueue function. */
event_enqueue_burst_t enqueue_burst;
/**< PMD enqueue burst function. */
event_enqueue_burst_t enqueue_new_burst;
/**< PMD enqueue burst new function. */
event_enqueue_burst_t enqueue_forward_burst;
/**< PMD enqueue burst fwd function. */
- event_dequeue_t dequeue;
- /**< PMD dequeue function. */
event_dequeue_burst_t dequeue_burst;
/**< PMD dequeue burst function. */
event_maintain_t maintain;
--
2.43.0
^ permalink raw reply [flat|nested] 66+ messages in thread
* Re: [PATCH 00/10] eventdev: remove single-event enqueue and dequeue
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
` (9 preceding siblings ...)
2024-10-21 8:51 ` [PATCH 10/10] eventdev: " Mattias Rönnblom
@ 2024-10-21 9:21 ` Mattias Rönnblom
10 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 9:21 UTC (permalink / raw)
To: Mattias Rönnblom, Jerin Jacob
Cc: dev, David Marchand, Stephen Hemminger, Anoob Joseph,
Hemant Agrawal, Sachin Saxena, Abdullah Sevincer,
Pavan Nikhilesh, Shijith Thotton, Harry van Haaren
On 2024-10-21 10:51, Mattias Rönnblom 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 deprecation notice,
> originally scheduled for DPDK 23.11.
>
The outgoing SMTP server I'm required to use seems to throw away random
messages for the moment.
I tried to repost the same patchset, but in that case it threw away the
cover letter.
Jerin, maybe you can puzzle something together.
> 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(-)
>
^ permalink raw reply [flat|nested] 66+ messages in thread
* [PATCH 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
` (11 preceding siblings ...)
2024-10-21 8:51 ` [PATCH " Mattias Rönnblom
@ 2024-10-21 9:05 ` Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
13 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 9:05 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] 66+ messages in thread
* [PATCH 00/10] eventdev: remove single-event enqueue and dequeue
2024-10-17 6:38 ` [RFC v3 00/10] eventdev: remove single-event " Mattias Rönnblom
` (12 preceding siblings ...)
2024-10-21 9:05 ` [PATCH 01/10] event/dsw: remove single event " Mattias Rönnblom
@ 2024-10-21 9:06 ` Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 01/10] event/dsw: remove single event " Mattias Rönnblom
` (9 more replies)
13 siblings, 10 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 9:06 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 deprecation 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] 66+ messages in thread
* [PATCH 01/10] event/dsw: remove single event enqueue and dequeue
2024-10-21 9:06 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
@ 2024-10-21 9:06 ` Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 02/10] event/dlb2: " Mattias Rönnblom
` (8 subsequent siblings)
9 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 9:06 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] 66+ messages in thread
* [PATCH 02/10] event/dlb2: remove single event enqueue and dequeue
2024-10-21 9:06 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 01/10] event/dsw: remove single event " Mattias Rönnblom
@ 2024-10-21 9:06 ` Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 03/10] event/octeontx: " Mattias Rönnblom
` (7 subsequent siblings)
9 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 9:06 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] 66+ messages in thread
* [PATCH 03/10] event/octeontx: remove single event enqueue and dequeue
2024-10-21 9:06 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 01/10] event/dsw: remove single event " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 02/10] event/dlb2: " Mattias Rönnblom
@ 2024-10-21 9:06 ` Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 04/10] event/sw: " Mattias Rönnblom
` (6 subsequent siblings)
9 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 9:06 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] 66+ messages in thread
* [PATCH 04/10] event/sw: remove single event enqueue and dequeue
2024-10-21 9:06 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
` (2 preceding siblings ...)
2024-10-21 9:06 ` [PATCH 03/10] event/octeontx: " Mattias Rönnblom
@ 2024-10-21 9:06 ` Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 05/10] event/dpaa: " Mattias Rönnblom
` (5 subsequent siblings)
9 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 9:06 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] 66+ messages in thread
* [PATCH 05/10] event/dpaa: remove single event enqueue and dequeue
2024-10-21 9:06 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
` (3 preceding siblings ...)
2024-10-21 9:06 ` [PATCH 04/10] event/sw: " Mattias Rönnblom
@ 2024-10-21 9:06 ` Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 06/10] event/dpaa2: " Mattias Rönnblom
` (4 subsequent siblings)
9 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 9:06 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] 66+ messages in thread
* [PATCH 06/10] event/dpaa2: remove single event enqueue and dequeue
2024-10-21 9:06 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
` (4 preceding siblings ...)
2024-10-21 9:06 ` [PATCH 05/10] event/dpaa: " Mattias Rönnblom
@ 2024-10-21 9:06 ` Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 07/10] event/opdl: " Mattias Rönnblom
` (3 subsequent siblings)
9 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 9:06 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] 66+ messages in thread
* [PATCH 07/10] event/opdl: remove single event enqueue and dequeue
2024-10-21 9:06 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
` (5 preceding siblings ...)
2024-10-21 9:06 ` [PATCH 06/10] event/dpaa2: " Mattias Rönnblom
@ 2024-10-21 9:06 ` Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 08/10] event/cnxk: " Mattias Rönnblom
` (2 subsequent siblings)
9 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 9:06 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] 66+ messages in thread
* [PATCH 08/10] event/cnxk: remove single event enqueue and dequeue
2024-10-21 9:06 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
` (6 preceding siblings ...)
2024-10-21 9:06 ` [PATCH 07/10] event/opdl: " Mattias Rönnblom
@ 2024-10-21 9:06 ` Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 09/10] event/skeleton: " Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 10/10] eventdev: " Mattias Rönnblom
9 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 9:06 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] 66+ messages in thread
* [PATCH 09/10] event/skeleton: remove single event enqueue and dequeue
2024-10-21 9:06 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
` (7 preceding siblings ...)
2024-10-21 9:06 ` [PATCH 08/10] event/cnxk: " Mattias Rönnblom
@ 2024-10-21 9:06 ` Mattias Rönnblom
2024-10-21 9:06 ` [PATCH 10/10] eventdev: " Mattias Rönnblom
9 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 9:06 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] 66+ messages in thread
* [PATCH 10/10] eventdev: remove single event enqueue and dequeue
2024-10-21 9:06 ` [PATCH 00/10] eventdev: remove single-event " Mattias Rönnblom
` (8 preceding siblings ...)
2024-10-21 9:06 ` [PATCH 09/10] event/skeleton: " Mattias Rönnblom
@ 2024-10-21 9:06 ` Mattias Rönnblom
9 siblings, 0 replies; 66+ messages in thread
From: Mattias Rönnblom @ 2024-10-21 9:06 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 17b7332007..a90b54fc77 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -131,11 +131,7 @@ Deprecation Notices
* eventdev: The single-event (non-burst) enqueue and dequeue operations,
used by static inline burst enqueue and dequeue functions in ``rte_eventdev.h``,
- will be removed in DPDK 23.11.
- This simplification includes changing the layout and potentially also
- the size of the public ``rte_event_fp_ops`` struct, breaking the ABI.
- Since these functions are not called directly by the application,
- the API remains unaffected.
+ are removed in DPDK 24.11.
* pipeline: The pipeline library legacy API (functions rte_pipeline_*)
will be deprecated and subsequently removed in DPDK 24.11 release.
diff --git a/doc/guides/rel_notes/release_24_11.rst b/doc/guides/rel_notes/release_24_11.rst
index fa4822d928..5461798970 100644
--- a/doc/guides/rel_notes/release_24_11.rst
+++ b/doc/guides/rel_notes/release_24_11.rst
@@ -401,6 +401,9 @@ ABI Changes
* eventdev: Added ``preschedule_type`` field to ``rte_event_dev_config`` structure.
+* eventdev: The PMD single-event enqueue and dequeue function pointers are removed
+ from ``rte_event_fp_fps``.
+
* graph: To accommodate node specific xstats counters, added ``xstat_cntrs``,
``xstat_desc`` and ``xstat_count`` to ``rte_graph_cluster_node_stats``,
added new structure ``rte_node_xstats`` to ``rte_node_register`` and
diff --git a/lib/eventdev/eventdev_pmd.h b/lib/eventdev/eventdev_pmd.h
index af855e3467..36148f8d86 100644
--- a/lib/eventdev/eventdev_pmd.h
+++ b/lib/eventdev/eventdev_pmd.h
@@ -158,16 +158,12 @@ struct __rte_cache_aligned rte_eventdev {
uint8_t attached : 1;
/**< Flag indicating the device is attached */
- event_enqueue_t enqueue;
- /**< Pointer to PMD enqueue function. */
event_enqueue_burst_t enqueue_burst;
/**< Pointer to PMD enqueue burst function. */
event_enqueue_burst_t enqueue_new_burst;
/**< Pointer to PMD enqueue burst function(op new variant) */
event_enqueue_burst_t enqueue_forward_burst;
/**< Pointer to PMD enqueue burst function(op forward variant) */
- event_dequeue_t dequeue;
- /**< Pointer to PMD dequeue function. */
event_dequeue_burst_t dequeue_burst;
/**< Pointer to PMD dequeue burst function. */
event_maintain_t maintain;
diff --git a/lib/eventdev/eventdev_private.c b/lib/eventdev/eventdev_private.c
index b628f4a69e..6df129fc2d 100644
--- a/lib/eventdev/eventdev_private.c
+++ b/lib/eventdev/eventdev_private.c
@@ -5,15 +5,6 @@
#include "eventdev_pmd.h"
#include "rte_eventdev.h"
-static uint16_t
-dummy_event_enqueue(__rte_unused void *port,
- __rte_unused const struct rte_event *ev)
-{
- RTE_EDEV_LOG_ERR(
- "event enqueue requested for unconfigured event device");
- return 0;
-}
-
static uint16_t
dummy_event_enqueue_burst(__rte_unused void *port,
__rte_unused const struct rte_event ev[],
@@ -24,15 +15,6 @@ dummy_event_enqueue_burst(__rte_unused void *port,
return 0;
}
-static uint16_t
-dummy_event_dequeue(__rte_unused void *port, __rte_unused struct rte_event *ev,
- __rte_unused uint64_t timeout_ticks)
-{
- RTE_EDEV_LOG_ERR(
- "event dequeue requested for unconfigured event device");
- return 0;
-}
-
static uint16_t
dummy_event_dequeue_burst(__rte_unused void *port,
__rte_unused struct rte_event ev[],
@@ -129,11 +111,9 @@ event_dev_fp_ops_reset(struct rte_event_fp_ops *fp_op)
{
static void *dummy_data[RTE_MAX_QUEUES_PER_PORT];
static const struct rte_event_fp_ops dummy = {
- .enqueue = dummy_event_enqueue,
.enqueue_burst = dummy_event_enqueue_burst,
.enqueue_new_burst = dummy_event_enqueue_burst,
.enqueue_forward_burst = dummy_event_enqueue_burst,
- .dequeue = dummy_event_dequeue,
.dequeue_burst = dummy_event_dequeue_burst,
.maintain = dummy_event_maintain,
.txa_enqueue = dummy_event_tx_adapter_enqueue,
@@ -153,11 +133,9 @@ void
event_dev_fp_ops_set(struct rte_event_fp_ops *fp_op,
const struct rte_eventdev *dev)
{
- fp_op->enqueue = dev->enqueue;
fp_op->enqueue_burst = dev->enqueue_burst;
fp_op->enqueue_new_burst = dev->enqueue_new_burst;
fp_op->enqueue_forward_burst = dev->enqueue_forward_burst;
- fp_op->dequeue = dev->dequeue;
fp_op->dequeue_burst = dev->dequeue_burst;
fp_op->maintain = dev->maintain;
fp_op->txa_enqueue = dev->txa_enqueue;
diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index b5c3c16dd0..fabd1490db 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -2596,14 +2596,8 @@ __rte_event_enqueue_burst(uint8_t dev_id, uint8_t port_id,
}
#endif
rte_eventdev_trace_enq_burst(dev_id, port_id, ev, nb_events, (void *)fn);
- /*
- * Allow zero cost non burst mode routine invocation if application
- * requests nb_events as const one
- */
- if (nb_events == 1)
- return (fp_ops->enqueue)(port, ev);
- else
- return fn(port, ev, nb_events);
+
+ return fn(port, ev, nb_events);
}
/**
@@ -2852,15 +2846,8 @@ rte_event_dequeue_burst(uint8_t dev_id, uint8_t port_id, struct rte_event ev[],
}
#endif
rte_eventdev_trace_deq_burst(dev_id, port_id, ev, nb_events);
- /*
- * Allow zero cost non burst mode routine invocation if application
- * requests nb_events as const one
- */
- if (nb_events == 1)
- return (fp_ops->dequeue)(port, ev, timeout_ticks);
- else
- return (fp_ops->dequeue_burst)(port, ev, nb_events,
- timeout_ticks);
+
+ return (fp_ops->dequeue_burst)(port, ev, nb_events, timeout_ticks);
}
#define RTE_EVENT_DEV_MAINT_OP_FLUSH (1 << 0)
diff --git a/lib/eventdev/rte_eventdev_core.h b/lib/eventdev/rte_eventdev_core.h
index 2706d5e6c8..1818483044 100644
--- a/lib/eventdev/rte_eventdev_core.h
+++ b/lib/eventdev/rte_eventdev_core.h
@@ -12,18 +12,11 @@
extern "C" {
#endif
-typedef uint16_t (*event_enqueue_t)(void *port, const struct rte_event *ev);
-/**< @internal Enqueue event on port of a device */
-
typedef uint16_t (*event_enqueue_burst_t)(void *port,
const struct rte_event ev[],
uint16_t nb_events);
/**< @internal Enqueue burst of events on port of a device */
-typedef uint16_t (*event_dequeue_t)(void *port, struct rte_event *ev,
- uint64_t timeout_ticks);
-/**< @internal Dequeue event from port of a device */
-
typedef uint16_t (*event_dequeue_burst_t)(void *port, struct rte_event ev[],
uint16_t nb_events,
uint64_t timeout_ticks);
@@ -60,16 +53,12 @@ typedef void (*event_preschedule_t)(void *port,
struct __rte_cache_aligned rte_event_fp_ops {
void **data;
/**< points to array of internal port data pointers */
- event_enqueue_t enqueue;
- /**< PMD enqueue function. */
event_enqueue_burst_t enqueue_burst;
/**< PMD enqueue burst function. */
event_enqueue_burst_t enqueue_new_burst;
/**< PMD enqueue burst new function. */
event_enqueue_burst_t enqueue_forward_burst;
/**< PMD enqueue burst fwd function. */
- event_dequeue_t dequeue;
- /**< PMD dequeue function. */
event_dequeue_burst_t dequeue_burst;
/**< PMD dequeue burst function. */
event_maintain_t maintain;
--
2.43.0
^ permalink raw reply [flat|nested] 66+ messages in thread