* [dpdk-users] Help required, DPDK throws EAL: eal_memalloc_alloc_seg_bulk()
@ 2021-04-11 9:49 Abid Zaidi
0 siblings, 0 replies; only message in thread
From: Abid Zaidi @ 2021-04-11 9:49 UTC (permalink / raw)
To: users
Hi everyone,
I have a DPDK environment setup and the buggy part of my program
concatenates a string. That string can be as long as it gets (lets say a
1,000,000 max characters). I run my program with *./program --lcores='0-4'*
I'm using DPDK's rte_malloc, rte_memcpy, rte_strlcat and rte_free
functions. Below is a snippet of the code
int current_length = strlen(fx->var);int new_length = (datalen +
current_length) + 1;
char *temp = (char *)rte_malloc("char *", new_length * (*fx->var), 0);
rte_memcpy(temp, fx->var, current_length);
rte_strlcat(temp, data, datalen);
temp[new_length] = '\0';
fx->var = (char *)rte_malloc("var", new_length * (*fx->var), 0);
rte_memcpy(fx->var, temp, new_length);
fx->var[new_length] = '\0';
rte_free(temp);
*My program exits after some time with EAL: eal_memalloc_alloc_seg_bulk():
couldn't find suitable memseg_list. *
Following is the stack trace I'm getting
(gdb) where#0 0x0000555555564d5b in _mm256_storeu_si256 (__A=...,
__P=0x0) at /usr/lib/gcc/x86_64-linux-gnu/9/include/avxintrin.h:928#1
rte_mov32 (
src=0x1a80b5a80 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", dst=0x0)
at /usr/local/include/rte_memcpy.h:320#2 rte_mov64 (
src=0x1a80b5a80 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", dst=0x0)
at /usr/local/include/rte_memcpy.h:330#3 rte_memcpy_aligned (n=88,
src=0x1a80b5a80, dst=0x0) at /usr/local/include/rte_memcpy.h:856#4
rte_memcpy (n=88, src=0x1a80b5a80, dst=0x0) at
/usr/local/include/rte_memcpy.h:872#5 parse_something
(flow=0x7ff7c83c8288, id=60806,
data=0x7ff82cd77cc5 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
datalen=89, flags=4) at main.c:1187#6 0x000055555557c2e1 in
process_something (result=0x7fffed7fad88) at main.c:2147#7
0x000055555557c467 in some_flow (worker=0x7fffed7fad70,
result=0x7fffed7fad88) at main.c:2199#8 0x000055555557e5e0 in
some_loop (arg=0x5555556262f0) at main.c:2273
I need an idea of what's going wrong here, am I missing some EAL
configurations. Until then I'm looking into the docs and trying to
understand from DPDK programmer's guide (EAL, Mbuf, Mempool library in
specific).
Machine specs
- DPDK 20.11.0-rc1
- Ubuntu 20 (x86_64 GNU/Linux kernel 5.8.0-44-generic)
- CPU: 32
- RAM: 256GB
- 2 DPDK ports(igb_uio) 6-7 GB/s
- 1GB Hugepages
Link to stackoverflow question:
https://stackoverflow.com/questions/67038388/dpdk-throws-eal-eal-memalloc-alloc-seg-bulk-couldnt-find-suitable-memseg-li
)
Regards,
Ali Abid Zaidi
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-04-11 9:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-11 9:49 [dpdk-users] Help required, DPDK throws EAL: eal_memalloc_alloc_seg_bulk() Abid Zaidi
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).