>2016-02-12 15:07, Wiles, Keith: >> >On 02/12/2016 03:57 PM, Thomas Monjalon wrote: >> >> 2016-02-12 13:23, Panu Matilainen: >> >>> On 02/10/2016 11:18 PM, Keith Wiles wrote: >> >>>> static inline void *rte_mempool_get_priv(struct rte_mempool *mp) >> >>>> { >> >>>> +#ifdef RTE_NEXT_ABI >> >>>> + return (char *)mp + >> >>>> + MEMPOOL_HEADER_SIZE(mp, mp->pg_num, mp->cache_size); >> >>>> +#else >> >>>> return (char *)mp + MEMPOOL_HEADER_SIZE(mp, mp->pg_num); >> >>>> +#endif /* RTE_NEXT_ABI */ >> >>>> } >> >>> >> >>> This is not RTE_NEXT_ABI material IMO, the added ifdef clutter is just >> >>> too much. >> >> >> >> The changes are restricted to the mempool files. >> >> I think it is not so much. However I wonder how much the feature is >> >> important >> >> to justify the use of NEXT_ABI. >> > >> >Well yes, to be precise: for the benefit of this patch, the ifdef >> >clutter seems too much. >> > >> >Its not as if every change is expected to go through a NEXT_ABI phase, >> >based on http://dpdk.org/ml/archives/dev/2016-February/032866.html there >> >might be some confusion regarding that. >> >> I think the NEXT_ABI is reasonable in this case as it does change a >> structure everyone uses and the ifdef clutter is caused by having to remove >> old ifdefs, which is a good thing for DPDK. The NEXT_ABI ifdefs only exist >> for one release and then they will disappear, which I think is more then >> reasonable. > >OK, I'm going to sum it up with new words and let the conclusion comes >from Keith, Panu and Olivier. > >We agreed to allow ABI breaking if a notification was done in the >previous release. >Keith has sent a notification for 16.04 so the "official" ABI will be >changed in 16.07. >It is also encouraged to show how the ABI will be broken when sending >a notification. It allows to give an informed opinion before ack'ing. >The code snippet will also be useful to app developpers when preparing >a future upgrade. >Keith has sent the whole code change. >This code change may be submitted in the current release without waiting >the deprecation time if gated in the NEXT_ABI ifdefs. >It allows to provide the feature to app developpers who don't care about >versioning. But the price is a more complicated code to read and manage. > >To make it short, the rules to use NEXT_ABI are not strict and may change. >So now you have to decide if this change can be integrated in 16.04 >as NEXT_ABI.
I would personally go ahead with the NEXT_ABI in 16.04 as it seems more reasonable for developers. I do not know if we made this patch in 16.04 without NEXT_ABI what would break in a developers project, which to me means we need to error on the side of caution by using NEXT_ABI. I am willing to submit a v4 patch without the NEXT_API ifdefs, but that is something everyone needs to agree on. > > Regards, Keith