DPDK usage discussions
 help / color / mirror / Atom feed
From: "Lombardo, Ed" <Ed.Lombardo@netscout.com>
To: "users@dpdk.org" <users@dpdk.org>
Subject: DPDK 22.11.2 requires too much VIRT memory, how to reduce
Date: Sun, 5 Nov 2023 16:00:57 +0000	[thread overview]
Message-ID: <PH0PR01MB67301F1FBFD731EE7A48AD288FABA@PH0PR01MB6730.prod.exchangelabs.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2877 bytes --]

Hi,
I upgraded from DPDK 17.11 to DPDK 22.11.
VM host is running Oracle 9 with kernel 5.14.0-162 in VMWARE 7.03 and PCI Passthrough.

Was able to detect the NIC ethernet port with DPDK API (rte_eth_dev_count_avail()), however I see problems when do mmap in our application just after the DPDK initialization.

[root@vstreamOR9-160 bin]# /opt/dpdk/dpdk_nic_bind.py --status

Network devices using DPDK-compatible driver
============================================
0000:0b:00.0 'Ethernet Controller E810-XXV for SFP 159b' drv=igb_uio unused=ice

Network devices using kernel driver
===================================
0000:03:00.0 'VMXNET3 Ethernet Controller 07b0' if=eth0 drv=vmxnet3 unused=igb_uio *Active*


Found errors when application is started with gdb:
EAL: Detected CPU lcores: 16
EAL: Detected NUMA nodes: 1
EAL: Detected static linkage of DPDK
[New Thread 0x7f60c8cb0640 (LWP 3872)]
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
[New Thread 0x7f60c84af640 (LWP 3873)]
EAL: Selected IOVA mode 'PA'
EAL: rte_mem_virt2phy(): cannot open /proc/self/pagemap: Too many open files
EAL: rte_mem_virt2phy(): cannot open /proc/self/pagemap: Too many open files
EAL: rte_mem_virt2phy(): cannot open /proc/self/pagemap: Too many open files
EAL: rte_mem_virt2phy(): cannot open /proc/self/pagemap: Too many open files
EAL: rte_mem_virt2phy(): cannot open /proc/self/pagemap: Too many open files
EAL: eal_memalloc_alloc_seg_bulk(): couldn't find suitable memseg_list
EAL: FATAL: Cannot init memory
EAL: Cannot init memory

This may be a hint why mmap fails?
Tried the following:

  *   increase the VM memory from 16 GB to 32 GB,
  *   increase the amount of hugepages from 2GB to 4GB,
  *   ulimit -n shows open files = 1024, had to increase to 2048 to eliminate the rte_mem_virt2phy() errors above when start app with gdb.
  *   free shows 62579808 free and available
  *   htop shows our application VIRT value is 66 GB.  What a surprise to see this value so high.  With DPDK 17.11 this value is around 5.5 GB.
  *   pmap -d <app PID> shows there are 4 [ anon ] of 16777216K each, which is what I believe is bumping the VIRT memory.

Was able to get our application to process packets from E810 once I changed the VM total memory to 80GB.
In HTOP the Mem value shows 5.28G/78.5G and VIRT is 69.0 GB.

When the main application executes rte_eal_init() is when the VIRT memory jumps to 66 GB, this is before the application configures the DPDK resources (worker rings, port configuration, etc).

Is there a setting in meson to reduce the DPDK resource in our application?

See the same VIRT memory issue on bare metal with same Oracle 9 and Intel I226 MAC.  I have systems that have only 16 GB of memory and a VM requiring 80 GB is not acceptable for our customers.


Any help will be appreciated.

Thanks,
Ed


[-- Attachment #2: Type: text/html, Size: 9191 bytes --]

             reply	other threads:[~2023-11-05 16:01 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-05 16:00 Lombardo, Ed [this message]
2023-11-05 18:22 ` Dmitry Kozlyuk
2023-11-08 17:48   ` Lombardo, Ed
2023-11-08 18:12     ` Dmitry Kozlyuk
2023-11-08 22:26       ` Lombardo, Ed
2023-11-08 23:05         ` Dmitry Kozlyuk
2023-11-10  0:16           ` Lombardo, Ed
2023-11-10  9:31             ` Dmitry Kozlyuk
2023-11-10  9:37               ` Dmitry Kozlyuk
2024-03-14  2:51                 ` 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=PH0PR01MB67301F1FBFD731EE7A48AD288FABA@PH0PR01MB6730.prod.exchangelabs.com \
    --to=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).