[dpdk-dev] [PATCH 2/5] eventdev: introduce specialized enqueue new op variant
Van Haaren, Harry
harry.van.haaren at intel.com
Fri Jun 30 10:40:06 CEST 2017
> From: Jerin Jacob [mailto:jerin.jacob at caviumnetworks.com]
> Sent: Thursday, June 29, 2017 3:20 PM
> To: dev at dpdk.org
<snip>
> diff --git a/drivers/event/octeontx/ssovf_evdev.c b/drivers/event/octeontx/ssovf_evdev.c
> index 8dc7b2ef8..0d0c6a186 100644
> --- a/drivers/event/octeontx/ssovf_evdev.c
> +++ b/drivers/event/octeontx/ssovf_evdev.c
> @@ -158,6 +158,7 @@ ssovf_fastpath_fns_set(struct rte_eventdev *dev)
> dev->schedule = NULL;
> dev->enqueue = ssows_enq;
> dev->enqueue_burst = ssows_enq_burst;
> + dev->enqueue_new_burst = ssows_enq_burst;
> dev->dequeue = ssows_deq;
> dev->dequeue_burst = ssows_deq_burst;
>
> diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
> index fe2a61e2f..951ad1b33 100644
> --- a/drivers/event/sw/sw_evdev.c
> +++ b/drivers/event/sw/sw_evdev.c
> @@ -796,6 +796,7 @@ sw_probe(struct rte_vdev_device *vdev)
> 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->dequeue = sw_event_dequeue;
> dev->dequeue_burst = sw_event_dequeue_burst;
> dev->schedule = sw_event_schedule;
I think it is possible to do this pointer-setting of new_burst() in eventdev.c, instead of adding the new_burst() to each PMD individually?
During rte_eventdev_configure(), if the dev->enqueue_new_burst() function is NULL, just point it at the ordinary one;
if (!dev->enqueue_new_burst)
dev->enqueue_new_burst = dev->enqueue_burst;
This saves per-PMD changes for adding new parallel function pointers - and avoids PMDs accidentally not being updated. With that change;
Acked-by: Harry van Haaren <harry.van.haaren at intel.com>
More information about the dev
mailing list