From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH] mk: generate internal library dependencies from DEPDIRS-y automatically Date: Wed, 08 Jun 2016 15:38:07 +0200 Message-ID: <1498329.iFkZWAfHut@xps13> References: <62da0f5f31b2ab9db2dcc16acd2f8425a575a26f.1465293714.git.pmatilai@redhat.com> <575810E6.2080701@6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: "Wiles, Keith" , "Richardson, Bruce" , Christian Ehrhardt , Panu Matilainen , dev@dpdk.org, "Yigit, Ferruh" To: Olivier Matz Return-path: Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com [74.125.82.53]) by dpdk.org (Postfix) with ESMTP id 6060BADCC for ; Wed, 8 Jun 2016 15:38:09 +0200 (CEST) Received: by mail-wm0-f53.google.com with SMTP id k184so16796087wme.1 for ; Wed, 08 Jun 2016 06:38:09 -0700 (PDT) In-Reply-To: <575810E6.2080701@6wind.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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" 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.