[dpdk-dev] [PATCH] mk: generate internal library dependencies from DEPDIRS-y automatically

Olivier Matz olivier.matz at 6wind.com
Wed Jun 8 14:34:46 CEST 2016



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?


>>> 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


More information about the dev mailing list