From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id D410EADCA for ; Wed, 8 Jun 2016 14:34:54 +0200 (CEST) Received: from was59-1-82-226-113-214.fbx.proxad.net ([82.226.113.214] helo=[192.168.0.10]) by mail.droids-corp.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1bAcjO-0000jb-0G; Wed, 08 Jun 2016 14:37:11 +0200 To: "Wiles, Keith" , Thomas Monjalon , "Richardson, Bruce" References: <62da0f5f31b2ab9db2dcc16acd2f8425a575a26f.1465293714.git.pmatilai@redhat.com> <24422417.UYSFgAybK6@xps13> <20160607140715.GC6948@bricha3-MOBL3> <4901376.7OB1d4j3hA@xps13> Cc: Christian Ehrhardt , Panu Matilainen , "dev@dpdk.org" , "Yigit, Ferruh" From: Olivier Matz Message-ID: <575810E6.2080701@6wind.com> Date: Wed, 8 Jun 2016 14:34:46 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH] mk: generate internal library dependencies from DEPDIRS-y automatically X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jun 2016 12:34:55 -0000 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? >>> 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. Olivier