From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io0-f194.google.com (mail-io0-f194.google.com [209.85.223.194]) by dpdk.org (Postfix) with ESMTP id 92247FFA for ; Mon, 6 Feb 2017 22:05:00 +0100 (CET) Received: by mail-io0-f194.google.com with SMTP id 101so10822471iom.0 for ; Mon, 06 Feb 2017 13:05:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=O/BlwI/je7qtYimDQfvq9A/VCoBjg1AqglyvvfjkDO0=; b=iSUIxqPKWJ804OAmf0bVBViZCXJOMG3BsHh0xYqf3cBRTNj/G2ERpY/m+LdpD+3+uU C8t1uPlshLCInak/A3MB5LJtlOR6Uudt8lMDfZCYZJiYw6vm7305xTG0eYeQyCD8YI+P 58GI0+I1FZZPZptoZvG4xVfPjKusNNqe9sj7fo9vfgZYuAMYa4imgKoGaNVtG+G75hve 69EztRvG7AryMZ4QCegPrw22w23Yu2fVS3h2uHyOTJsRSFO32SFM5e9wGBYQqCIPGaq5 OHWgxWo03GA77qp39hMREIHNRyspwrnS3gcQ+bJlqlrCm6ljZBDDXFRRSsonJbsGB1kK XdHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=O/BlwI/je7qtYimDQfvq9A/VCoBjg1AqglyvvfjkDO0=; b=gGrtx697fpOVC0c5f+J3LOhNbxqOlCI6KeDPMq/CGKrAm/NHRKprLh8IezyKipCXms 9I266cCSJPUMNmIYsRqizs+AAXm+oXAXTEIL8sgzkD9WUJpac3N1Efd1MsbzMzjnESzO iEzzOvhVpa+64+RlwqTxYxdwdxcD6A1yHXgWdvfKQC58jZ866VqSsw253rrle/CQ10nA WCDYu3TMYKYfCL19zOTU0oKrlnDbCY6zYB0gmRLg//23Es77WbslbWfKI3krgvWl/mOx cqxcU3M9Rbj3dlL43b9kAdOFh5yIId1IRRmNVcl4ohHgZdIz15MrlOTDDozdH+iZkvQb iugQ== X-Gm-Message-State: AMke39ktWEkq2mPGAC5+CjvKuLU+OzVSGmMWOeFkj2KYBK3dx+VJar5MAGunGyrsQZAhrEeQiBAuPQepSh+9/w== X-Received: by 10.107.144.9 with SMTP id s9mr8191651iod.146.1486415099876; Mon, 06 Feb 2017 13:04:59 -0800 (PST) MIME-Version: 1.0 Received: by 10.64.135.161 with HTTP; Mon, 6 Feb 2017 13:04:29 -0800 (PST) From: Ivan Nardi Date: Mon, 6 Feb 2017 22:04:29 +0100 Message-ID: To: dev@dpdk.org Cc: "Zhang, Helin" , "Wu, Jingjing" Content-Type: text/plain; charset=UTF-8 Subject: [dpdk-dev] i40e and memory allocations restricted on node 1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Feb 2017 21:05:00 -0000 Hi With dpdk 17.02-rc2 i40e driver doesn't load at all when memory allocation is restricted on numa node 1 (on system with more than 1 node, obviously) [root@micro ~]# /tmp/testpmd -d /home/micro/lib/librte_pmd_i40e.so -c 0xFFFC000 -w 0000:81:00.0 -w 0000:81:00.1 -n 4 --socket-mem=0,8192 -- -i --socket-num=1 EAL: Detected 56 lcore(s) EAL: Probing VFIO support... EAL: PCI device 0000:81:00.0 on NUMA socket 1 EAL: probe driver: 8086:1572 net_i40e PMD: eth_i40e_dev_init(): FW 4.40 API 1.4 NVM 04.05.03 eetrack 80001cd8 RING: Cannot reserve memory HASH: memory allocation failed PMD: i40e_init_ethtype_filter_list(): Failed to create ethertype hash table! EAL: Error - exiting with code: 1 Cause: Requested device 0000:81:00.0 cannot be used Everything is fine with 16.11, or allowing allocations from both nodes I was able to locate the code to fix (at least, I hope so), but I don't really know if it is better to allocate from SOCKET_ID_ANY of from the exact node associated with the network device, something like dev->data->numa_node ("pseudo" patch below) --- dpdk-17.02-rc2.orig/drivers/net/i40e/i40e_ethdev.c 2017-01-30 23:47:11.000000000 +0100 +++ dpdk-17.02-rc2/drivers/net/i40e/i40e_ethdev.c 2017-02-06 21:53:37.812313120 +0100 @@ -899,6 +899,7 @@ .entries = I40E_MAX_ETHERTYPE_FILTER_NUM, .key_len = sizeof(struct i40e_ethertype_filter_input), .hash_func = rte_hash_crc, + .socket_id = SOCKET_ID_ANY, }; /* Initialize ethertype filter rule list and hash */ @@ -942,6 +943,7 @@ .entries = I40E_MAX_TUNNEL_FILTER_NUM, .key_len = sizeof(struct i40e_tunnel_filter_input), .hash_func = rte_hash_crc, + .socket_id = SOCKET_ID_ANY, }; /* Initialize tunnel filter rule list and hash */ @@ -985,6 +987,7 @@ .entries = I40E_MAX_FDIR_FILTER_NUM, .key_len = sizeof(struct rte_eth_fdir_input), .hash_func = rte_hash_crc, + .socket_id = SOCKET_ID_ANY, }; /* Initialize flow director filter rule list and hash */ Any thoughts? Thanks in advance Ivan