Re: No free hugepages reported

2024-03-31 Thread Lokesh Chakka
hi Stephen,

Thanks for the reply. Following is the observation...

*
$ dpdk-hugepages.py -s
Node Pages Size Total
2512   2Mb1Gb
6512   2Mb1Gb

Hugepages mounted on /dev/hugepages /mnt/huge

$ sudo dpdk-hugepages.py -p 1G --setup 2G
Unable to set pages (0 instead of 2 in
/sys/devices/system/node/node4/hugepages/hugepages-1048576kB/nr_hugepages).
*


Regards
--
Lokesh Chakka.


On Mon, Apr 1, 2024 at 12:36 AM Stephen Hemminger <
step...@networkplumber.org> wrote:

> On Sun, 31 Mar 2024 16:28:19 +0530
> Lokesh Chakka  wrote:
>
> > Hello,
> >
> > I've installed dpdk in Ubuntu 23.10 with the command "sudo apt -y install
> > dpdk*"
> >
> > added  "nodev /mnt/huge hugetlbfs pagesize=1GB 0 0" in /etc/fstab
> > added "vm.nr_hugepages=1024" in /etc/sysctl.conf
> >
> > rebooted the machine and then did devbind using the following command:
> >
> > sudo modprobe vfio-pci && sudo dpdk-devbind.py --bind=vfio-pci 63:00.0
> > 63:00.1
> >
> > Huge page info is as follows :
> >
> > *
> > $ cat /proc/meminfo | grep Huge
> > AnonHugePages:  6144 kB
> > ShmemHugePages:0 kB
> > FileHugePages: 0 kB
> > HugePages_Total:1024
> > HugePages_Free: 1023
> > HugePages_Rsvd:0
> > HugePages_Surp:0
> > Hugepagesize:   2048 kB
> > Hugetlb: 2097152 kB
> > *
>
> Your hugepages are not setup correctly. The mount is for 1G pages
> and the sysctl entry makes 2M pages.
>
> Did you try using the dpdk-hugepages script?
>


Re: No free hugepages reported

2024-03-31 Thread Stephen Hemminger
On Sun, 31 Mar 2024 16:28:19 +0530
Lokesh Chakka  wrote:

> Hello,
> 
> I've installed dpdk in Ubuntu 23.10 with the command "sudo apt -y install
> dpdk*"
> 
> added  "nodev /mnt/huge hugetlbfs pagesize=1GB 0 0" in /etc/fstab
> added "vm.nr_hugepages=1024" in /etc/sysctl.conf
> 
> rebooted the machine and then did devbind using the following command:
> 
> sudo modprobe vfio-pci && sudo dpdk-devbind.py --bind=vfio-pci 63:00.0
> 63:00.1
> 
> Huge page info is as follows :
> 
> *
> $ cat /proc/meminfo | grep Huge
> AnonHugePages:  6144 kB
> ShmemHugePages:0 kB
> FileHugePages: 0 kB
> HugePages_Total:1024
> HugePages_Free: 1023
> HugePages_Rsvd:0
> HugePages_Surp:0
> Hugepagesize:   2048 kB
> Hugetlb: 2097152 kB
> *

Your hugepages are not setup correctly. The mount is for 1G pages
and the sysctl entry makes 2M pages.

Did you try using the dpdk-hugepages script?


Re: Symmetric RSS Hashing support in DPDK

2024-03-31 Thread Shaul Hamoi (shamoi)
Hi,


I am looking to determine the target queue for a flow in advance
I’m using dpdk-rss-flows.py to calculate the Toeplitz hash with I40E key.

However, If I use the script as is, I don’t obtain the correct queue because 
the hash calculation isn’t symmetric.
I have attempted to XOR the source and destination IP addresses  and source and 
destination  port before performing the calculation  but I still don’t get the 
correct queue.


In case you use RTE_ETH_HASH_SYMMETRIC_TOEPLITZ , the I40E key doesn’t change - 
Right ?
How do I find that the NIC does for symmetric hash so I can simulate it ?

(src="1.0.0.1", dst="2.0.0.2")/TCP(sport=8819, dport=80)

Actual queue - 7 (32 RX queues)



Result with XOR:

dpdk-rss-flows.py -s 8819 -d 80 -k i40e 32 1.0.0.1 2.0.0.2

SRC_IP SPORTDST_IP DPORTQUEUE

1.0.0.18819 2.0.0.280   19



Result without (original script):

dpdk-rss-flows.py -s 8819 -d 80 -k i40e 32 1.0.0.1 2.0.0.2

SRC_IP SPORTDST_IP DPORTQUEUE

1.0.0.18819 2.0.0.280   20





Thanks in advance,
Shaul.



From: "Lukáš Šišmiš" 

To: Balakrishnan K ,

Stephen Hemminger 

Cc: "users@dpdk.org" 

Subject: Re: Symmetric RSS Hashing support in 
DPDK

Date: Fri, 8 Mar 2024 08:29:32 +0100  [thread 
overview]

Message-ID: <90dc11cf-8c60-4b90-a3fc-43b2351b6...@cesnet.cz> 
(raw)

In-Reply-To: 
https://inbox.dpdk.org/users/psapr04mb551616841d8221851ff79214d6...@psapr04mb5516.apcprd04.prod.outlook.com/>>



Hi all,



I've made minimalist example app on how to set symmetric RSS support for

X710 that uses RTE_FLOW rules - check it out here:



https://github.com/lukashino/i40e-symmetric-rss-rte-flow



Lukas



On 08. 03. 24 6:53, Balakrishnan K wrote:

> Hi Stephen,

>Thanks for the response . I will below option and come back if any help 
> required.

>

> Regards,

> Bala

>

> -Original Message-

> From: Stephen Hemminger 

> Sent: Wednesday, March 6, 2024 8:34 PM

> To: Balakrishnan K 

> Cc: users@dpdk.org

> Subject: Re: Symmetric RSS Hashing support in DPDK

>

> CAUTION: This email originated from outside of the organization. Do not click 
> links or open attachments unless you recognize the sender and know the 
> content is safe.

>

> On Wed, 6 Mar 2024 07:28:40 +

> Balakrishnan K  wrote:

>

>> Hello,

>> Our application needs symmetric hashing to handle the reverse

>> traffic on the same core, also to Improve performance by distributing the 
>> traffic across core.

>> Tried using rss config as below .

>> action_rss_tcp.types = ETH_RSS_NONFRAG_IPV4_TCP | ETH_RSS_L3_SRC_ONLY|

>> ETH_RSS_L3_DST_ONLY | ETH_RSS_L4_SRC_ONLY | ETH_RSS_L4_DST_ONLY; but could 
>> not get desired result.

>> Is there any options or API available to enable symmetric RSS hashing .

>> We are using dpdk 20.11 and intel NIC X710 10GbE .

>>

>> Regards,

>> Bala

> With XL710 there are two choices:

>  1. Set RSS hash function to RTE_ETH_HASH_SYMMETRIC_TOEPLITZ in

> the rte_eth_rss_conf passed in during configure

>  2. Use default (non symmetric TOEPLITZ) but pass in a rss_key that

> has duplicated bits in the right place. Like:

>

> 0x6d5a 0x6d5a 0x6d5a 0x6d5a

> 0x6d5a 0x6d5a 0x6d5a 0x6d5a

> 0x6d5a 0x6d5a 0x6d5a 0x6d5a

> 0x6d5a 0x6d5a 0x6d5a 0x6d5a

> 0x6d5a 0x6d5a 0x6d5a 0x6d5a

>
> https://www.ndsl.kaist.edu/~kyoungsoo/papers/TR-symRSS.pdf




No free hugepages reported

2024-03-31 Thread Lokesh Chakka
Hello,

I've installed dpdk in Ubuntu 23.10 with the command "sudo apt -y install
dpdk*"

added  "nodev /mnt/huge hugetlbfs pagesize=1GB 0 0" in /etc/fstab
added "vm.nr_hugepages=1024" in /etc/sysctl.conf

rebooted the machine and then did devbind using the following command:

sudo modprobe vfio-pci && sudo dpdk-devbind.py --bind=vfio-pci 63:00.0
63:00.1

Huge page info is as follows :

*
$ cat /proc/meminfo | grep Huge
AnonHugePages:  6144 kB
ShmemHugePages:0 kB
FileHugePages: 0 kB
HugePages_Total:1024
HugePages_Free: 1023
HugePages_Rsvd:0
HugePages_Surp:0
Hugepagesize:   2048 kB
Hugetlb: 2097152 kB
*

output of "dpdk-devbind.py -s" is as follows :

*

Network devices using DPDK-compatible driver

:63:00.0 'Ethernet Controller E810-C for QSFP 1592' drv=vfio-pci
unused=ice
:63:00.1 'Ethernet Controller E810-C for QSFP 1592' drv=vfio-pci
unused=ice

*

I am seeing the following error while I try to run dpdk-test

*
$ sudo dpdk-test
EAL: Detected CPU lcores: 128
EAL: Detected NUMA nodes: 8
EAL: Detected shared linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
EAL: No free 2048 kB hugepages reported on node 0
EAL: No free 2048 kB hugepages reported on node 1
EAL: No free 2048 kB hugepages reported on node 3
EAL: No free 2048 kB hugepages reported on node 4
EAL: No free 2048 kB hugepages reported on node 5
EAL: No free 2048 kB hugepages reported on node 7
EAL: No free 1048576 kB hugepages reported on node 0
EAL: No free 1048576 kB hugepages reported on node 1
EAL: No free 1048576 kB hugepages reported on node 2
EAL: No free 1048576 kB hugepages reported on node 3
EAL: No free 1048576 kB hugepages reported on node 4
EAL: No free 1048576 kB hugepages reported on node 5
EAL: No free 1048576 kB hugepages reported on node 6
EAL: No free 1048576 kB hugepages reported on node 7
EAL: VFIO support initialized
set_mempolicy: Invalid argument
set_mempolicy: Invalid argument
set_mempolicy: Invalid argument
set_mempolicy: Invalid argument
set_mempolicy: Invalid argument
set_mempolicy: Invalid argument
set_mempolicy: Invalid argument
set_mempolicy: Invalid argument
EAL: Using IOMMU type 1 (Type 1)
set_mempolicy: Invalid argument
set_mempolicy: Invalid argument
set_mempolicy: Invalid argument
set_mempolicy: Invalid argument
EAL: Probe PCI driver: net_ice (8086:1592) device: :63:00.0 (socket 3)
set_mempolicy: Invalid argument
set_mempolicy: Invalid argument
PANIC in eth_dev_shared_data_prepare():
Cannot allocate ethdev shared data
0: /lib/x86_64-linux-gnu/librte_eal.so.23 (rte_dump_stack+0x41)
[788e7385d0b1]
1: /lib/x86_64-linux-gnu/librte_eal.so.23 (__rte_panic+0xc1) [788e7383e1c7]
2: /lib/x86_64-linux-gnu/librte_ethdev.so.23 (788e736f5000+0x8b16)
[788e736fdb16]
3: /lib/x86_64-linux-gnu/librte_ethdev.so.23 (rte_eth_dev_allocate+0x31)
[788e73709971]
4: /usr/lib/x86_64-linux-gnu/dpdk/pmds-23.0/librte_net_ice.so.23.0
(788e705d1000+0x67465) [788e70638465]
5: /lib/x86_64-linux-gnu/librte_bus_pci.so.23 (788e72fcc000+0x4c76)
[788e72fd0c76]
6: /lib/x86_64-linux-gnu/librte_bus_pci.so.23 (788e72fcc000+0x8af4)
[788e72fd4af4]
7: /lib/x86_64-linux-gnu/librte_eal.so.23 (rte_bus_probe+0x23)
[788e7384bab3]
8: /lib/x86_64-linux-gnu/librte_eal.so.23 (788e73831000+0x123bf)
[788e738433bf]
9: dpdk-test (59eca0915000+0x6c9e7) [59eca09819e7]
10: /lib/x86_64-linux-gnu/libc.so.6 (788e72c0+0x28150) [788e72c28150]
11: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0x89) [788e72c28209]
12: dpdk-test (59eca0915000+0x6ee85) [59eca0983e85]
Aborted
*

Can someone help me identify the issue please


Thanks & Regards
--
Lokesh Chakka.