2016-06-08 14:34, Olivier Matz: > On 06/07/2016 04:40 PM, Wiles, Keith wrote: > > On 6/7/16, 9:19 AM, "dev on behalf of Thomas Monjalon" <dev-bounces at > > dpdk.org on behalf of thomas.monjalon at 6wind.com> wrote: > > > >> 2016-06-07 15:07, Bruce Richardson: > >>> On Tue, Jun 07, 2016 at 03:00:45PM +0200, Thomas Monjalon wrote: > >>>> 2016-06-07 14:36, Christian Ehrhardt: > >>>>> But I still struggle to see how to fix the circular dependency between > >>>>> librte_eal and librte_mempool. > >>>> > >>>> Why is there a circular dependency? > >>>> Only because of logs using mempool? > >>>> > >>>>> Maybe now is a time to look at this part of the original threads again > >>>>> to > >>>>> eventually get apps less overlinked? > >>>>> => http://www.dpdk.org/ml/archives/dev/2016-May/039441.html > >>>>> My naive suggestions in generalized form can be found there (no answer > >>>>> yet): > >>>>> => > >>>>> http://stackoverflow.com/questions/37351699/how-to-create-both-so-files-for-two-circular-depending-libraries > >>>> > >>>> I would prefer removing the circular dependency. > >>>> Maybe we can rewrite the code to not use mempool or move it outside of > >>>> EAL. > > Indeed, mempools are used in eal for history. Is this feature still > useful now that logs are sent to syslog? Maybe we could deprecate this > API, and remove mempool calls in a future release?
+1 to deprecate log history > >>> Or else we can take the attitude that the mempools and the rings are just > >>> a core > >>> part of DPDK and move them and the EAL into a dpdk_core library at link > >>> time. > >>> Having the code separate in the git tree is good, but I'm not sure having > >>> the resulting object files being in separate .a/.so files is particularly > >>> useful. > >>> I can't see someone wanting to use one without the other. > >> > >> EAL could be used as an abstraction layer on top of systems and platforms. > >> And I think keeping things separated and layered help to maintain a design > >> easy to understand. > > I like the idea to have one lib per directory (for consistency). It > may also simplify the Makefiles. > I'm in favor of keeping mempool and ring separated from eal if we > can remove the circular dep. +1 to keep bijectivity in src/lib.