On Wed, Oct 05, 2016 at 09:58:01AM +0200, David Marchand wrote: > Hello,
Hi there, > I thought you had unaligned binaries. > You are compiling only one binary ? Primary is compiled using the DPDK build process. Secondary is build using the Snort build process. Both are pointing to the exact same libdpdk.a. > I am not sure Sergio is talking about the constructor approach. But, this is exactly the cause of the problem. > Anyway, the constructors invocation order should not matter. For tailq, I agree. For mempool constructors, order do matter. > Primary and secondary processes build their local tailq entries list > in constructors (so far, I can't see how this is wrong). > "Later", each process updates this list with the actual pointer to the > lists by looking at the shared memory in rte_eal_init (calling > rte_eal_tailqs_init). > > What matters is that secondary tailqs are a subset of the primary tailqs. Which is not the case for me, I have secondary including all tailqs, and primary only having a subset. Check here : http://dpdk.org/ml/archives/dev/2016-September/047329.html > I still have some trouble understanding what you are trying to do. Having things work ;-) > As Sergio asked, can you come up with a simplified example/use case ? Not trivial. I'll see what I can do. > Thanks. > > > -- > David Marchand Regards, Jean