Hi Tom, > -----Original Message----- > From: Tom Rix <t...@redhat.com> > Sent: Thursday, July 7, 2022 6:34 AM > To: Chautru, Nicolas <nicolas.chau...@intel.com>; dev@dpdk.org; > tho...@monjalon.net; gak...@marvell.com; hemant.agra...@nxp.com > Cc: maxime.coque...@redhat.com; m...@ashroe.eu; Richardson, Bruce > <bruce.richard...@intel.com>; david.march...@redhat.com; > step...@networkplumber.org > Subject: Re: [PATCH v4 3/7] bbdev: add device info on queue topology > > > On 7/6/22 2:12 PM, Chautru, Nicolas wrote: > > Hi Tom, > > > >> -----Original Message----- > >> From: Tom Rix <t...@redhat.com> > >> Subject: Re: [PATCH v4 3/7] bbdev: add device info on queue topology > >> > >> > >> On 7/5/22 5:23 PM, Nicolas Chautru wrote: > >>> Adding more options in the API to expose the number of queues > >>> exposed and related priority. > >>> > >>> Signed-off-by: Nicolas Chautru <nicolas.chau...@intel.com> > >>> --- > >>> lib/bbdev/rte_bbdev.h | 4 ++++ > >>> 1 file changed, 4 insertions(+) > >>> > >>> diff --git a/lib/bbdev/rte_bbdev.h b/lib/bbdev/rte_bbdev.h index > >>> 9b1ffa4..ac941d6 100644 > >>> --- a/lib/bbdev/rte_bbdev.h > >>> +++ b/lib/bbdev/rte_bbdev.h > >>> @@ -289,6 +289,10 @@ struct rte_bbdev_driver_info { > >>> > >>> /** Maximum number of queues supported by the device */ > >>> unsigned int max_num_queues; > >>> + /** Maximum number of queues supported per operation type */ > >>> + unsigned int num_queues[RTE_BBDEV_OP_TYPE_PADDED_MAX]; > >>> + /** Priority level supported per operation type */ > >>> + unsigned int queue_priority[RTE_BBDEV_OP_TYPE_PADDED_MAX]; > >> It is better to add new elements to the end of a structure for better > >> backward compatibility > > All that serie is not ABI compatible (sizes change etc...). I don’t believe > > there > is such a recommendation, is there? > > Depends on what users expect, a dynamically linked old application would at > best core here. If the elements were added to the end, yes the size would > change but the old dynamically linked application would not use > them. Dynamically linking is nice because problems in the library can be > fixed > and shipped without forcing the user recompile. Though the user may not > realize it, this change forces them to recompile. > > Tom
Thanks Tom. In that very context, the change are big enough not to have any form of compatibility. This a new ABI version, and user knows they will have to recompile. Still it would be great to capture a recommendation in DPDK coding guideline in case there is such a BKM, I have heard multiple arguments for different preference, if we want to harmonize such things let's capture in coding guide lines, it would not hurt. Maybe one for Thomas? > > > > >> Tom > >> > >>> /** Queue size limit (queue size must also be power of 2) */ > >>> uint32_t queue_size_lim; > >>> /** Set if device off-loads operation to hardware */