EAL: eal_memalloc_alloc_seg_bulk(): couldn't find suitable memseg_list

Stephen Hemminger stephen at networkplumber.org
Fri Sep 8 23:03:01 CEST 2023


On Fri, 8 Sep 2023 14:31:22 +0000 (UTC)
Don Trotter <djtrotter at yahoo.com> wrote:

>  On Thursday, September 7, 2023 at 09:26:34 PM CDT, jiangheng (G) <jiangheng14 at huawei.com> wrote:
>  
>  
>  
> Hi
>  
> I've had the same error. It may be caused by this parameter:
>  
> https://github.com/DPDK/dpdk/blob/v22.11/config/rte_config.h#L33C9-L33C33
>  
> If you use 2MB hugepages, the max memory size is 2MB * 8192 = 16GB. This error will occur when you allocate more than 16GB of memory per numa.
>  
>   
>  
> But should not have this error if you use 512 MB of memory, can you show RTE_MAX_MEMSEG_PER_LIST in your dpdk?
>  
> Check whether the other sizes hugepage  is used, Theoretically, this error indicates that the rte_eal_init init fails and the program should exit.
>    My initial statement was that the log  was seen "from EAL during EAL init", but that is not right. The call to rte_eal_init() is successful. Later I allocate the memory, using rte_mempool_create("node_pool", (128 * 1024 * 1024 - 1), 256, 256, 0, NULL, NULL, NULL, NULL, rte_socket_id(), 0). That is when I see the message. And the call to allocate the memory is successful, and I am processing packets and allocating nodes just fine. Here is the information from rte_config.h.
> $ grep RTE_MAX_MEM  ./cn98xx-release-output/build/dpdk/config/rte_config.h#define RTE_MAX_MEMSEG_LISTS 128#define RTE_MAX_MEMSEG_PER_LIST 8192#define RTE_MAX_MEM_MB_PER_LIST 32768#define RTE_MAX_MEMSEG_PER_TYPE 32768#define RTE_MAX_MEM_MB_PER_TYPE 65536#define RTE_MAX_MEMZONE 2560
>  
>   
>  
> 发件人: Don Trotter <djtrotter at yahoo.com>
> 发送时间: 2023年9月8日 5:33
> 收件人: Stephen Hemminger <stephen at networkplumber.org>
> 抄送: users at dpdk.org
> 主题: Re: EAL: eal_memalloc_alloc_seg_bulk(): couldn't find suitable memseg_list
>  
>   
>  
> On Thursday, September 7, 2023 at 03:21:12 PM CDT, Stephen Hemminger <stephen at networkplumber.org> wrote:
>  
>   
>  
>   
>  
> On Thu, 7 Sep 2023 19:58:35 +0000 (UTC)
>  
> 
> Don Trotter <djtrotter at yahoo.com> wrote:
> 
> >  To clarify, the log message when my application called rte_mempool_create() to create the "node_pool", and the call succeeded.
> > Thanks,Don Trotter
> >    On Thursday, September 7, 2023 at 01:54:08 PM CDT, Don Trotter <djtrotter at yahoo.com> wrote: 
>> >  Hi,
> > I have recently started using DPDK. I am working on a project on OcteonTX2 with DPDK 11.23.01. I am seeing this message from EAL during EAL init, but everything is working.
> >     EAL: eal_memalloc_alloc_seg_bulk(): couldn't find suitable memseg_list
> > The system has 96GB of memory.  These 2 pools get created and everything works fine.
> > mempool <mbuf_pool>@0x13fed3e00  flags=10  socket_id=0  pool=0x1140300000  iova=0x13fed3e00  nb_mem_chunks=1  size=65535  populated_size=65535  header_size=128  elt_size=10200  trailer_size=40  total_obj_size=10368  private_data_size=128  ops_index=0  ops_name: <cn9k_mempool_ops>  avg bytes/object=10368.558602
> > mempool <node_pool>@0x1575d8180  flags=10  socket_id=-1  pool=0x19ffffd00  iova=0x1575d8180  nb_mem_chunks=2  size=134217727  populated_size=134217727  header_size=128  elt_size=256  trailer_size=0  total_obj_size=384  private_data_size=0  ops_index=3  ops_name: <ring_mp_mc>  avg bytes/object=384.000094
> > You read that right. I’ve got 128*1024*1024 256 byte buffers created for data.
> > I also see there is still heap left, although pretty low after.
> > Heap id:0        Heap name:socket_0        Heap_size:55834574848,        Free_size:2403644544,        Alloc_size:53430930304,        Greatest_free_size:536870016,        Alloc_count:293,        Free_count:5,
> > Linux free stats.
> > tmp# free -h -w              total        used        free      shared     buffers       cache   availableMem:           95Gi        88Gi       6.5Gi       444Mi          0B       470Mi       599MiSwap:            0B          0B          0B
> > Is there anything wrong with that EAL log? Is there a lurking problem?
> > Thanks,Don Trotter  
>  
> 
> >
>> 
> Did you setup hugepages?
> How many and what size?
> Is this a NUMA system?
> 
> Also 11.23.01 seems like a weird release number.
> The DPDK release numbering scheme is year followed by month. I.e. 22.11 was released in November of 2022
>  
>   
>  
>   
>  
> # cat /sys/kernel/mm/hugepages/hugepages-524288kB/nr_hugepages
>  
> 176
>  
>   
>  
> Yes it is a NUMA system.
>  
>   
>  
> You are correct sir. The SDK is SDK11.23.01 (2023-01) and DPDK is 22.11.
>  
>   
>  
> Thanks, Don Trotter
>  
>   
> 
>    

You may need to add hugepages on each NUMA node.


More information about the users mailing list