From: "Zhang, Helin" <helin.zhang@intel.com>
To: Ivan Nardi <nardi.ivan@gmail.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "Wu, Jingjing" <jingjing.wu@intel.com>
Subject: Re: [dpdk-dev] i40e and memory allocations restricted on node 1
Date: Tue, 7 Feb 2017 01:49:59 +0000 [thread overview]
Message-ID: <F35DEAC7BCE34641BA9FAC6BCA4A12E71A9B86C9@SHSMSX103.ccr.corp.intel.com> (raw)
In-Reply-To: <CAB6Tvp3_V9XMHq-0QJdUNvbw_Uc_hq2nzhVfKzY6B91H5Gisdg@mail.gmail.com>
> -----Original Message-----
> From: Ivan Nardi [mailto:nardi.ivan@gmail.com]
> Sent: Tuesday, February 7, 2017 5:04 AM
> To: dev@dpdk.org
> Cc: Zhang, Helin; Wu, Jingjing
> Subject: i40e and memory allocations restricted on node 1
>
> 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
This is a very old verion of firmware, it may have compatibility issue.
So first, firmware upgrade is needed.
> RING: Cannot reserve memory
It seems not reserve memory for ring, and not an issue specifically to i40e.
Let's double check that if it is common to all.
> 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
next prev parent reply other threads:[~2017-02-07 1:50 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-06 21:04 Ivan Nardi
2017-02-07 1:49 ` Zhang, Helin [this message]
2017-02-07 10:19 ` Ivan Nardi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=F35DEAC7BCE34641BA9FAC6BCA4A12E71A9B86C9@SHSMSX103.ccr.corp.intel.com \
--to=helin.zhang@intel.com \
--cc=dev@dpdk.org \
--cc=jingjing.wu@intel.com \
--cc=nardi.ivan@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).