Skip to contentSkip to conversation

rte_pktmbuf_pool_create returns EINVAL instead of ENOMEM in rte_errno when not enough huge pages memory

dpdk-dev [email protected] 1 participant 1 message Jun 27, 2020

lore
Share & tools
lore
#0 lore raw

https://bugs.dpdk.org/show_bug.cgi?id=494

Bug ID: 494
Summary: rte_pktmbuf_pool_create returns EINVAL instead of
ENOMEM in rte_errno when not enough huge pages memory
Product: DPDK
Version: 19.11
Hardware: All
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: core
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---

DPDK: dpdk-stable-19.11.3
GCC: Ubuntu 7.5.0-3ubuntu1~18.04
OS: Ubuntu 18.04 LTS

Steps to reproduce:

1. Allocate total 32 huge pages of size 2048K

echo 32 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

2. Request testpmd to create 32768 mbufs

./build/app/testpmd -c7 --vdev=net_pcap,iface=net0 -- -i --nb-cores=1 --nb-ports=1 --total-num-mbufs=32768

3. Notice 'Invalid argument' in error description

testpmd: preferred mempool ops selected: ring_mp_mc
EAL: Error - exiting with code: 1
Cause: Creation of mbuf pool for socket 0 failed: Invalid argument

Expected result:

Error message should say
"Cause: Creation of mbuf pool for socket 0 failed: Cannot allocate memory"

i.e rte_errno should be EINVAL

Suspected commit:

commit 3a3d0c75b43e8d1670c5ea6bf85cb3e1e60dfa2b

Author: Olivier Matz <[email protected]>
Date:   Fri Jan 17 10:51:49 2020 +0100

mempool: fix slow allocation of large pools

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.