From: Stephen Hemminger <stephen@networkplumber.org>
To: "Lombardo, Ed" <Ed.Lombardo@netscout.com>
Cc: "users@dpdk.org" <users@dpdk.org>
Subject: Re: tailqs issue
Date: Wed, 19 Mar 2025 13:23:49 -0700 [thread overview]
Message-ID: <20250319132349.5ff339a7@hermes.local> (raw)
In-Reply-To: <CH3PR01MB8470C2B4DCBFEC90D7EA856F8FD92@CH3PR01MB8470.prod.exchangelabs.com>
On Wed, 19 Mar 2025 17:50:46 +0000
"Lombardo, Ed" <Ed.Lombardo@netscout.com> wrote:
> Hi,
> My goal is to test DPDK applications running on the same server as a primary process and secondary process.
> When I execute two dpdk-simple-mp processes, one as primary and other as secondary, I see them both startup with no issues.
>
> # ./dpdk-simple_mp -c 0x2 -n 4 --legacy-mem --proc-type primary --
> # ./dpdk-simple_mp -c 0x8 -n 4 --legacy-mem --proc-type secondary --
>
>
> Now when I test our DPDK application (as primary) and same dpdk-simple-mp (as secondary) I get error "EAL: Cannot initialize tailq: RTE_FIB).
> EAL args: MyApp, -l 25,26,27,28 -n 4 -socket-mem=2048, --legacy-mem -no-telemetry -proc_type=primary
>
> # ./dpdk-simple_mp -l 24 -n 4 --legacy-mem --proc-type secondary --
>
>
> When I use gdb I see that t->head is 0x0 in eal_common_tailqs.c Line 148.
> (gdb) p *t
> $40 = {head = 0x0, next = {tqe_next = 0x1c68c40 <rte_fib6_tailq>, tqe_prev = 0x1c67108 <rte_swx_ctl_pipeline_tailq+8>},
> name = "RTE_FIB", '\000' <repeats 24 times>}
>
> I created 2 - 1G hugepages per CPU socket for each test case listed above.
>
> [root@localhost ~]# /opt/dpdk/dpdk-hugepages.py -s
> Node Pages Size Total
> 0 2 1Gb 2Gb
> 1 2 1Gb 2Gb
>
>
> The dpdk-simple_mp execution output is shown below:
> [root@localhost ~]# ./dpdk-simple_mp -l 24 -n 4 --legacy-mem --huge-dir /dev/mnt/huge --proc-type secondary --
> EAL: Detected CPU lcores: 128
> EAL: Detected NUMA nodes: 2
> EAL: Static memory layout is selected, amount of reserved memory can be adjusted with -m or --socket-mem
> EAL: Detected static linkage of DPDK
> EAL: Multi-process socket /var/run/dpdk/rte/mp_socket_18349_8160ff395b1
> EAL: Selected IOVA mode 'PA'
> EAL: WARNING: Address Space Layout Randomization (ASLR) is enabled in the kernel.
> EAL: This may cause issues with mapping memory into secondary processes
> EAL: Cannot initialize tailq: RTE_FIB
> Tailq 0: qname:<RTE_DIST_BURST>, tqh_first:(nil), tqh_last:0x100004490
> Tailq 1: qname:<RTE_DISTRIBUTOR>, tqh_first:(nil), tqh_last:0x1000044c0
> Tailq 2: qname:<RTE_REORDER>, tqh_first:(nil), tqh_last:0x1000044f0
> Tailq 3: qname:<RTE_IPSEC_SAD>, tqh_first:(nil), tqh_last:0x100004520
> Tailq 4: qname:<RTE_SWX_IPSEC>, tqh_first:(nil), tqh_last:0x100004550
> Tailq 5: qname:<RTE_SWX_PIPELINE>, tqh_first:(nil), tqh_last:0x100004580
> Tailq 6: qname:<RTE_SWX_CTL_PIPELINE>, tqh_first:(nil), tqh_last:0x1000045b0
> Tailq 7: qname:<RTE_HASH>, tqh_first:0x1bfd9f140, tqh_last:0x1bf6f4240
> Tailq 8: qname:<RTE_FBK_HASH>, tqh_first:(nil), tqh_last:0x100004610
> Tailq 9: qname:<RTE_THASH>, tqh_first:(nil), tqh_last:0x100004640
> Tailq 10: qname:<RTE_LPM>, tqh_first:(nil), tqh_last:0x100004670
> Tailq 11: qname:<RTE_LPM6>, tqh_first:(nil), tqh_last:0x1000046a0
> Tailq 12: qname:<RTE_ACL>, tqh_first:(nil), tqh_last:0x1000046d0
> Tailq 13: qname:<RTE_MEMPOOL>, tqh_first:0x1bf282000, tqh_last:0x1bf282000
> Tailq 14: qname:<RTE_RING>, tqh_first:0x1bfdc79c0, tqh_last:0x14f261ac0
> Tailq 15: qname:<RTE_MBUF_DYNFIELD>, tqh_first:0x14f871680, tqh_last:0x14f870cc0
> Tailq 16: qname:<RTE_MBUF_DYNFLAG>, tqh_first:0x14f871080, tqh_last:0x14f871080
> Tailq 17: qname:<UIO_RESOURCE_LIST>, tqh_first:0x1bfffce00, tqh_last:0x1bf939e40
> Tailq 18: qname:<VFIO_RESOURCE_LIST>, tqh_first:(nil), tqh_last:0x1000047f0
> Tailq 19: qname:<>, tqh_first:(nil), tqh_last:(nil)
> Tailq 20: qname:<>, tqh_first:(nil), tqh_last:(nil)
> Tailq 21: qname:<>, tqh_first:(nil), tqh_last:(nil)
> Tailq 22: qname:<>, tqh_first:(nil), tqh_last:(nil)
> Tailq 23: qname:<>, tqh_first:(nil), tqh_last:(nil)
> Tailq 24: qname:<>, tqh_first:(nil), tqh_last:(nil)
> Tailq 25: qname:<>, tqh_first:(nil), tqh_last:(nil)
> Tailq 26: qname:<>, tqh_first:(nil), tqh_last:(nil)
> Tailq 27: qname:<>, tqh_first:(nil), tqh_last:(nil)
> Tailq 28: qname:<>, tqh_first:(nil), tqh_last:(nil)
> Tailq 29: qname:<>, tqh_first:(nil), tqh_last:(nil)
> Tailq 30: qname:<>, tqh_first:(nil), tqh_last:(nil)
> Tailq 31: qname:<>, tqh_first:(nil), tqh_last:(nil)
> EAL: Cannot init tail queues for objects
> EAL: Error - exiting with code: 1
> Cannot init EAL
>
> How do I resolve this issue?
>
> Thanks,
> Ed
The problem is that the primary process has not linked in the fib library.
The primary process is the only one that can register tailq's at initialization.
next prev parent reply other threads:[~2025-03-19 20:23 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-19 17:50 Lombardo, Ed
2025-03-19 20:23 ` Stephen Hemminger [this message]
2025-03-19 21:52 ` Lombardo, Ed
2025-03-19 23:16 ` Stephen Hemminger
2025-03-21 18:18 ` Lombardo, Ed
2025-03-24 5:01 ` Lombardo, Ed
2025-03-24 14:59 ` Kompella V, Purnima
2025-03-24 16:39 ` Lombardo, Ed
2025-03-25 10:25 ` Kompella V, Purnima
2025-03-25 14:39 ` Lombardo, Ed
2025-03-25 22:20 ` Stephen Hemminger
2025-03-25 22:24 ` Lombardo, Ed
2025-03-25 22:41 ` Stephen Hemminger
2025-03-25 22:56 ` Lombardo, Ed
2025-03-26 10:27 ` Kompella V, Purnima
2025-03-26 14:14 ` Stephen Hemminger
2025-03-26 14:33 ` Kompella V, Purnima
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250319132349.5ff339a7@hermes.local \
--to=stephen@networkplumber.org \
--cc=Ed.Lombardo@netscout.com \
--cc=users@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).