[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