03/08/2021 03:52, Xia, Chenbo: > Hi Thomas, > > From: Thomas Monjalon <tho...@monjalon.net> > > 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?
I understand the intent. You are saying an out-of-tree driver is considered internal. Let's see how it works for real.