DPDK usage discussions
 help / color / mirror / Atom feed
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
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';


*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

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:
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:

* 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 \


* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK usage discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/users/0 users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 users users/ https://inbox.dpdk.org/users \
	public-inbox-index users

Example config snippet for mirrors.
Newsgroup available over NNTP:

AGPL code for this site: git clone https://public-inbox.org/public-inbox.git