From: "Lombardo, Ed" <Ed.Lombardo@netscout.com>
To: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Cc: users <users@dpdk.org>
Subject: RE: hugepage mapping to memseg failure
Date: Tue, 10 Sep 2024 20:42:44 +0000 [thread overview]
Message-ID: <CH3PR01MB84701012A4FCD4E6D03CD2628F9A2@CH3PR01MB8470.prod.exchangelabs.com> (raw)
In-Reply-To: <CAEYuUWAnT==wB1waayji+KTQWZjjwAK61mMwcoNOjnD_q2uekQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1760 bytes --]
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<mailto: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.
http://git.dpdk.org/dpdk/tree/lib/eal/linux/eal_memory.c#n832<https://urldefense.com/v3/__http:/git.dpdk.org/dpdk/tree/lib/eal/linux/eal_memory.c*n832__;Iw!!Nzg7nt7_!B063yUJ-LVej5lTsv6gheha4kgXi82WclmIX3OgY_6c5BaWYh9OxqpMNNAkIbCDLGWTc8Vc5CQDqOMooFHKBNysj3Aw$>
Your options then are:
- not using legacy memory mode;
- increasing *_MAX_MEM_MB_* constants to 3072 (will also increase VIRT).
[-- Attachment #2: Type: text/html, Size: 5977 bytes --]
next prev parent reply other threads:[~2024-09-10 20:42 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-04 22:23 hugepage allocation mapping failure Lombardo, Ed
2024-09-06 13:42 ` hugepage mapping to memseg failure Lombardo, Ed
2024-09-07 20:35 ` Dmitry Kozlyuk
2024-09-10 20:42 ` Lombardo, Ed [this message]
2024-09-10 22:36 ` Dmitry Kozlyuk
2024-09-11 4:26 ` Lombardo, Ed
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=CH3PR01MB84701012A4FCD4E6D03CD2628F9A2@CH3PR01MB8470.prod.exchangelabs.com \
--to=ed.lombardo@netscout.com \
--cc=dmitry.kozliuk@gmail.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).