From: Abid Zaidi <abidzaidi.dev@gmail.com>
To: users@dpdk.org
Subject: [dpdk-users] Help required, DPDK throws EAL: eal_memalloc_alloc_seg_bulk()
Date: Sun, 11 Apr 2021 14:49:46 +0500 [thread overview]
Message-ID: <CANRFSCZVt2ScWxc0UCm3XCoi+jiPt7bESctAGSvfXgCkUJ+MSA@mail.gmail.com> (raw)
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
reply other threads:[~2021-04-11 9:50 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=CANRFSCZVt2ScWxc0UCm3XCoi+jiPt7bESctAGSvfXgCkUJ+MSA@mail.gmail.com \
--to=abidzaidi.dev@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).