On 9/12/2018 2:54 AM, dev-boun...@dpdk.org wrote: > By default, testpmd will create membuf pool for all NUMA nodes and > ignore EAL configuration. > > Count the number of available NUMA according to EAL core mask or core > list configuration. Optimized by only creating membuf pool for those > nodes. > > Fixes: c9cafcc ("app/testpmd: fix mempool creation by socket id") > > Signed-off-by: Phil Yang <phil.y...@arm.com> > Acked-by: Gavin Hu <gavin...@arm.com> > --- > app/test-pmd/testpmd.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c > index ee48db2..a56af2b 100644 > --- a/app/test-pmd/testpmd.c > +++ b/app/test-pmd/testpmd.c > @@ -476,6 +476,8 @@ set_default_fwd_lcores_config(void) > > nb_lc = 0; > for (i = 0; i < RTE_MAX_LCORE; i++) { > + if (!rte_lcore_is_enabled(i)) > + continue; > sock_num = rte_lcore_to_socket_id(i); > if (new_socket_id(sock_num)) { > if (num_sockets >= RTE_MAX_NUMA_NODES) { > @@ -485,8 +487,6 @@ set_default_fwd_lcores_config(void) > } > socket_ids[num_sockets++] = sock_num; > } > - if (!rte_lcore_is_enabled(i)) > - continue; > if (i == rte_get_master_lcore()) > continue; > fwd_lcores_cpuids[nb_lc++] = i; >
This is causing testpmd fail for the case all cores from socket 1 and added a virtual device which will try to allocate memory from socket 0. $ testpmd -l<cores from socket 1> --vdev net_pcap0,iface=lo -- -i ... Failed to setup RX queue:No mempool allocation on the socket 0 EAL: Error - exiting with code: 1 Cause: Start ports failed