[dpdk-dev] RFC: Enahancements to Rx adapter for DPDK 21.11

Jerin Jacob jerinjacobk at gmail.com
Fri Jul 30 13:17:43 CEST 2021


On Wed, Jul 28, 2021 at 11:53 AM Kundapura, Ganapati
<ganapati.kundapura at intel.com> wrote:
>
> Comments inlined

Please fix your email client for adding proper >

>
> -----Original Message-----
> From: Jerin Jacob <jerinjacobk at gmail.com>
> Sent: 28 July 2021 11:38
> To: Kundapura, Ganapati <ganapati.kundapura at intel.com>
> Cc: dpdk-dev <dev at dpdk.org>; Jayatheerthan, Jay <jay.jayatheerthan at intel.com>
> Subject: Re: RFC: Enahancements to Rx adapter for DPDK 21.11
>
> On Mon, Jul 26, 2021 at 6:37 PM Kundapura, Ganapati <ganapati.kundapura at intel.com> wrote:
> >
> > A gentle ping for comments.
> >
> > -----Original Message-----
> > From: dev <dev-bounces at dpdk.org> On Behalf Of Kundapura, Ganapati
> > Sent: 23 July 2021 12:33
> > To: dpdk-dev <dev at dpdk.org>; Jerin Jacob <jerinjacobk at gmail.com>;
> > Jayatheerthan, Jay <jay.jayatheerthan at intel.com>
> > Subject: [dpdk-dev] RFC: Enahancements to Rx adapter for DPDK 21.11
> >
> > Hi dpdk-dev,
> >
> > We would like to submit series of patches to Rx adapters that will enhance the configuration and performance.
> > Please find the details below.
> >
> > (1) Configure Rx event buffer at run time
> >     Add new api to configure the size of the Rx event buffer at run time.
> >     This api allows setting the size of the event buffer at adapter level.
>
> Since we can change ABI for 21.11, Not prefer to add a new API instead add a param to config structure.
> Please send the deprecation notice for ABI change.
>
> Config structure passed to rte_event_eth_rx_adapter_create() is of type rte_event_port_conf which
> comes from event framework(rte_eventdev.h).
> Does it make sense to pass adapter event buffer size in rte_event_port_conf structure?

I see. Then new API is better to set the buffer is OK.


>
> >
> > (2) Change packet enqueue buffer in Rx adapter to circular buffer
> >     Rx adapter uses memmove() to move unprocessed events to the begining
> >     of packet enqueue buffer which consumes good amount of CPU cycles.
>
> Looks good.
>
>
> >
> > (3) Add API to retrieve the Rx queue info
> >     Rx queue info containinin  flags for handling received packets,
> >     event queue identifier, schedular type, event priority,
> >     polling frequence of the receive queue and flow identifier
>
> Looks good. Please implement it as adaptor ops so that it can be adapter specific to support HW implementations.
>
>
>
> >
> > (4) Add adapter_stats cli to retrive Rx/Tx adapter stats and rxq info
> >     This cli displays Rx and Tx adapter stats containing recieved packet count,
> >     eventdev enqueue count, enqueue retry count, event buffer size, queue poll count,
> >     transmitted packet count, packet dropped count, transmit fail count etc and rx queue info.
>
> Generally, we don't entertain CLI in the library. You can add command-line arguments to app/test-eventdev to test this.
>
> Adapter_stats is standalone application not part of library and it'll be in app/adapter_stats.

No need for a new app. Please add stats as telemetry, then it can be
pull through
usertools/dpdk-telemetry.py



> >
> > (5) Update Rx timestamp in mbuf using mbuf dynamic field
> >     Add support to register timestamp dynamic field in mbuf
> >     Update the timestamp in mbuf for each packet before eventdev
> > enqueue
>
> Cool.
>
> >
> > We look forward to feedback on this proposal. Once we have initial feedback, patches will be submitted for review.
> >
> > Thanks,
> > Ganapati


More information about the dev mailing list