From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH v2] app/testpmd: optimize membuf pool allocation Date: Mon, 8 Oct 2018 12:33:39 +0100 Message-ID: <6f76decb-086b-3be9-0ed7-25a098e959c7@intel.com> References: <1535362398-6526-1-git-send-email-phil.yang@arm.com> <1536717266-6363-1-git-send-email-phil.yang@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: bernard.iremonger@intel.com, gavin.hu@arm.com, stable@dpdk.org, phil.yang@arm.com, Anatoly Burakov To: dev-bounces@dpdk.org, dev@dpdk.org Return-path: In-Reply-To: <1536717266-6363-1-git-send-email-phil.yang@arm.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 9/12/2018 2:54 AM, dev-bounces@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 > Acked-by: Gavin Hu > --- > 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 --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