[RFC] eventdev: remove single-event enqueue operation

Mattias Rönnblom hofors at lysator.liu.se
Tue Jul 4 14:01:47 CEST 2023


On 2023-06-30 06:37, Jerin Jacob wrote:
> On Fri, Jun 9, 2023 at 11:18 PM Mattias Rönnblom
> <mattias.ronnblom at ericsson.com> wrote:
>>
>> Eliminate non-burst enqueue operation from Eventdev.
>>
>> The effect of this change is to reduce Eventdev code complexity
>> somewhat and slightly improve performance.
>>
>> The single-event enqueue shortcut provided a very minor performance
>> advantage in some situations (e.g., with a compile time-constant burst
>> size of '1'), but would in other situations cause a noticeable
>> performance penalty (e.g., rte_event_enqueue_forward_burst() with run
>> time-variable burst sizes varying between '1' and larger burst sizes).
>>
>> Signed-off-by: Mattias Rönnblom <mattias.ronnblom at ericsson.com>
> 
>>
>> -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);
>> @@ -45,8 +42,6 @@ typedef uint16_t (*event_crypto_adapter_enqueue_t)(void *port,
>>   struct rte_event_fp_ops {
>>          void **data;
>>          /**< points to array of internal port data pointers */
>> -       event_enqueue_t enqueue;
>> -       /**< PMD enqueue function. */
> 
> Can we remove "dequeue" as well?

Seems likely, but I have no data on that option.

> In any event, Please send a deprecation notice as it is an ABI change,
> and we need to get merge the deprecation notice patch for v23.07.
> I can review the deprecation notice patch quickly as soon as you send
> it to make forward progress.
> 

OK.

> 
>>          event_enqueue_burst_t enqueue_burst;
>>          /**< PMD enqueue burst function. */
>>          event_enqueue_burst_t enqueue_new_burst;
>> @@ -65,7 +60,7 @@ struct rte_event_fp_ops {
>>          /**< PMD Tx adapter enqueue same destination function. */
>>          event_crypto_adapter_enqueue_t ca_enqueue;
>>          /**< PMD Crypto adapter enqueue function. */
>> -       uintptr_t reserved[6];
>> +       uintptr_t reserved[7];
>>   } __rte_cache_aligned;
>>


More information about the dev mailing list