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. 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.