DPDK 22.11 allocate memory issue

Lombardo, Ed Ed.Lombardo at netscout.com
Thu Nov 21 22:39:52 CET 2024


Hi,
I am having problems with rte_eal_init() and assigning DPDK memory to one numa node (I have two numa node system).

The server is a DELL R730 with dual Haswell processors running Oracle91 (kernel version 5.14.0-284).
Total Memory is 128 GB.

I tried modifying an argument I had used in the past and added a second value, for second socket, with a ',' delimiter to exclude DPDK memory on socket 2.  I tried "--socket-mem=2048,0" and rte_eal_init() suffers a Segmentation fault.


Program received signal SIGSEGV, Segmentation fault.
rte_strsplit (string=string at entry=0x2ee4ec5 "2048,0", stringlen=stringlen at entry=6, tokens=tokens at entry=0x7ffcc7d21f80,
    maxtokens=maxtokens at entry=32, delim=delim at entry=44 ',') at ../lib/eal/common/eal_common_string_fns.c:32
32      ../lib/eal/common/eal_common_string_fns.c: No such file or directory.
(gdb) bt
#0  rte_strsplit (string=string at entry=0x2ee4ec5 "2048,0", stringlen=stringlen at entry=6, tokens=tokens at entry=0x7ffcc7d21f80,
    maxtokens=maxtokens at entry=32, delim=delim at entry=44 ',') at ../lib/eal/common/eal_common_string_fns.c:32
#1  0x0000000002852014 in eal_parse_socket_arg (strval=0x2ee4ec5 "2048,0", socket_arg=socket_arg at entry=0x72b2fb8 <internal_config+56>)
    at ../lib/eal/linux/eal.c:485
#2  0x000000000285262d in eal_parse_args (argv=0x7ffcc7d2a990, argc=9) at ../lib/eal/linux/eal.c:696
#3  rte_eal_init (argc=9, argv=0x7ffcc7d2a990) at ../lib/eal/linux/eal.c:1005
#4  0x0000000000499482 in main (argc=2, argv=0x7ffcc7d2ad18) at linuxmain.c:4320

Perhaps what I provided as an argument "--socket-mem=2048,0" to rte_eal_init() is not supported?



My goal is to allocate all DPDK memory and Hugepage memory to processor 1 (socket 1) on Numa Node 0 where the NIC is located.


When I try remove the rte_eal_init argument "--socket-mem"  it seems to work, puts the DPDK memory on socket 0.

I may want to allocate DPDK memory on second socket or on both CPU sockets with different amounts, how can I do this with ret_eal_init arguments?

Any guidance would be greatly appreciated.

Thanks,
Ed
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/users/attachments/20241121/df0e991c/attachment.htm>


More information about the users mailing list