> Subject: Re: [PATCH 0/8] Fixes for Intel common rx/tx path selection
> 
> On Mon, Dec 15, 2025 at 02:05:45PM +0000, Ciara Loftus wrote:
> > An issue exists with the way Rx and Tx paths are defined and then used
> > by the common selection infrastructure, which in some cases means not
> > all paths are available for selection. The issue affects four drivers on
> > both Rx and Tx paths resulting in eight fix patches.
> >
> > Depending on the underlying architecture and CPU flags available, a
> > different set of paths are defined for each driver. The path selection
> > function iterates sequentially from zero to num_paths where num_paths is
> > the size of the array as determined by the RTE_DIM macro. However,
> > depending on the platform, some of these entries may be empty, and valid
> > entries at the end of the array may never be considered in the selection
> > function. Fix this by editing each driver's rx/tx "func_type" enum and
> > only defining a value for the path if it is implemented in the driver's
> > rx/tx "path_infos" array.
> >
> I wonder if there is an alternative/better approach that can work here. For
> each array, RTE_DIM will correctly give its size, and the indexes are set
> according to the enum values which are common across each platform.
> Therefore, the remaining entries in each array are going to be all zeroed,
> since they are not explicitly initialized, e.g. the AXV entries on ARM
> platforms. Would it not then work to just check during selection for a
> non-NULL pkt_burst pointer in each entry we are comparing and skip those
> which are NULL?

That would indeed be much simpler - I'll submit a v2 shortly. Thanks!

> 
> /Bruce

Reply via email to