Hi Dmitry,
If I use grub for hugepages will the hugepages always be contiguous and we won’t see the mapping to memsegs issue?
I am investigating your option 2 you provided to see how much VIRT memory increases.
Best Regards,
Ed
From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Sent: Saturday, September 7, 2024 4:36 PM
To: Lombardo, Ed <Ed.Lombardo@netscout.com>
Cc: users <users@dpdk.org>
Subject: Re: hugepage mapping to memseg failure
External Email: This message originated outside of NETSCOUT. Do not click links or open attachments unless you recognize
the sender and know the content is safe. |
Hi Ed,
On Fri, Sep 6, 2024, 16:43 Lombardo, Ed <Ed.Lombardo@netscout.com> wrote:
The rte_eal_init() arguments are:
‘app_name, -c0x2, -n4, --socket-mem=2048, --legacy-mem, --no-telemetry’
Could it be that the hugpages are not contiguous and reboot clears this issue, not able to confirm.
Yes, this is likely the root cause. Since you're building DPDK yourself, you can print cur->physaddr around line 900 (see the link below). In legacy mode, DPDK leaves "holes" (unused elements) in memory segment lists between pages that
are not physically contiguous. Because in your case the segment list has only two elements, there is no room for two segments for two hugepages plus a hole segment between them.
Your options then are:
- not using legacy memory mode;
- increasing *_MAX_MEM_MB_* constants to 3072 (will also increase VIRT).