DPDK usage discussions
 help / color / mirror / Atom feed
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.



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