Hi Thomas, > -----Original Message----- > From: Thomas Monjalon <tho...@monjalon.net> > Sent: Sunday, August 1, 2021 4:44 AM > To: Xia, Chenbo <chenbo....@intel.com> > Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yi...@intel.com>; dev@dpdk.org; > m...@ashroe.eu; david.march...@redhat.com; Richardson, Bruce > <bruce.richard...@intel.com>; andrew.rybche...@oktetlabs.ru; Ananyev, > Konstantin <konstantin.anan...@intel.com> > Subject: Re: [dpdk-dev] [PATCH] doc: announce removal of ABIs in PCI bus > driver > > 27/07/2021 10:44, Bruce Richardson: > > On Mon, Jul 26, 2021 at 05:56:17AM +0000, Xia, Chenbo wrote: > > > From: Yigit, Ferruh <ferruh.yi...@intel.com> > > > > On 7/23/2021 8:39 AM, Xia, Chenbo wrote: > > > > > From: dev <dev-boun...@dpdk.org> On Behalf Of Chenbo Xia > > > > >> +* pci: To reduce unnecessary ABIs exposed by DPDK bus driver, > > > > "rte_bus_pci.h" > > > > >> + will be made internal in 21.11 and macros/data > structures/functions > > > > defined > > > > >> + in the header will not be considered as ABI anymore. This change > is > > > > >> inspired > > > > >> + by the RFC > > > > https://patchwork.dpdk.org/project/dpdk/list/?series=17176. > > > > > > > > > > I see there's some ABI improvement work on-going and I think it could > be > > > > part of > > > > > the work. If it makes sense to you, I'd like some ACKs. > > > > > > > > > > > > > Acked-by: Ferruh Yigit <ferruh.yi...@intel.com> > > > > > > > > I am for reducing the public ABI as much as possible. How big will the > > > > change > > > > be? Is the 'rte_bus_pci.h' used other than './drivers/bus/pci/'? > > > > > > I don't see big change here. And I am not sure if I understand your second > > > question. The rte_bus_pci.h will still be used by drivers (maybe remove > the > > > rte prefix and change the file name). > > > > > The file itself will still be exported in some cases, where the end-user > > has their own drivers which need to be compiled, so I'd recommend keeping > > the rte_ prefix. However, I think making all bus APIs internal-only to DPDK > > is a good idea. > > I don't understand how it can exported _and_ internal.
I think we can use the meson option 'enable_driver_sdk'. The first use case is in lib ethdev for exporting internal APIs for out-of-tree drivers. For pci bus, I think the use case is similar: users who want to build out-of-tree drivers can set the option true to export pci header but the structs/functions are marked internal. Make sense to you? Thanks, Chenbo > And about the rte_ prefix, it should be kept even if it used only > in internal drivers because it prevent from namespace clash with other > libraries included by the drivers. > As a rule we should always have rte_ prefix for each symbol used outside > of its own library. > > That said I am OK with the direction of hiding PCI bus API. > > Applied, thanks. > >