[dpdk-dev] bnx2x pmd crash when launching testpmd using BCM57840 Nic.

2020-06-30 Thread Anil Kumar Koli
Hi DPDK team,

 

1. I am trying to run testpmd with BCM57840 NIC using DPDK 20.02.1, the
process is crashing at bnx2x_write_dmae(). Had any one seen this kind of
issue earlier.

 

root@gic-mps-104-173:~/bnx2x# ./testpmd.new -l 0-3 -n 4 -w :37:00.4 -w
:37:00.5 --log-level="pmd.net.bnx2x.driver",8 -- -i --portmask=0x3
--nb-cores=2

EAL: Detected 48 lcore(s)

EAL: Detected 2 NUMA nodes

EAL: Multi-process socket /var/run/dpdk/rte/mp_socket

EAL: Selected IOVA mode 'PA'

EAL: Debug dataplane logs available - lower performance

EAL: Probing VFIO support...

EAL: VFIO support initialized

EAL: PCI device :37:00.4 on NUMA socket 0

EAL:   probe driver: 14e4:16a2 net_bnx2x

[bnx2x_load_firmware:9689(37:00.4:dpdk-port-0)] fw_len = 320936

[bnx2x_attach:9756(37:00.4:dpdk-port-0)] Starting attach...

[bnx2x_probe_pci_caps:7645(37:00.4:dpdk-port-0)] Found PM capability:
id=0x0001 type=0x0001 addr=0x0048

[bnx2x_pcie_capability_read:7611(37:00.4:dpdk-port-0)] Found PCIe
capability: id=0x0010 type=0x0001 addr=0x00AC

[bnx2x_probe_pci_caps:7658(37:00.4:dpdk-port-0)] PCIe link speed=3 width=8

[bnx2x_probe_pci_caps:7674(37:00.4:dpdk-port-0)] Found MSI-X capability at
0x

bnx2x_reg_write32(37:00.4:dpdk-port-0): offset=0x9430 val=0x0001

...

[bnx2x_get_device_info:8316(37:00.4:dpdk-port-0)] chip_id=0x168d1010
(num=0x168d rev=0x1 metal=0x01 bond=0x0)

...

[bnx2x_get_device_info:8345(37:00.4:dpdk-port-0)] Port mode = 2

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0x0045 val=0x00040204

[bnx2x_get_function_num:7574(37:00.4:dpdk-port-0)] Relative function 4,
Absolute function 4, Path 0

...

[bnx2x_get_device_info:8382(37:00.4:dpdk-port-0)] Bootcode version: 7.14.63

...

[bnx2x_get_shmem_info:8178(37:00.4:dpdk-port-0)] Ethernet address:
20:67:7c:0d:d0:a2

...

[bnx2x_get_device_info:8448(37:00.4:dpdk-port-0)] IGU Normal Mode

...

[elink_phy_probe:13507(37:00.4:dpdk-port-0)] Begin phy probe

[elink_phy_probe:13526(37:00.4:dpdk-port-0)] phy_config_swapped 0, phy_index
0, actual_phy_idx 0

...

[elink_populate_int_phy:13118(37:00.4:dpdk-port-0)] :chip_id = 0x168d1000

...

[elink_populate_int_phy:13209(37:00.4:dpdk-port-0)] media_type = f0, flags =
1400, supported = a0f00

[elink_populate_int_phy:13239(37:00.4:dpdk-port-0)] Internal phy port=0,
addr=0x1, mdio_ctl=0x8000

...

[elink_populate_preemphasis:13078(37:00.4:dpdk-port-0)] phy->rx_preemphasis.
= 0, phy->tx_preemphasis = 0

...

[elink_populate_preemphasis:13078(37:00.4:dpdk-port-0)] phy->rx_preemphasis
= 0, phy->tx_preemphasis = 0

...

[elink_phy_def_cfg:13413(37:00.4:dpdk-port-0)] Default config phy idx 0 cfg
0x0 speed_cap_mask 0x500050

[elink_phy_def_cfg:13444(37:00.4:dpdk-port-0)] Default config phy idx 0,
req_duplex config 1

[elink_phy_def_cfg:13465(37:00.4:dpdk-port-0)] Requested Duplex = 1,
line_speed = 0, flow_ctrl = 0

[elink_phy_probe:13526(37:00.4:dpdk-port-0)] phy_config_swapped 0, phy_index
1, actual_phy_idx 1

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0x003c6e34 val=0x

[elink_phy_probe:13574(37:00.4:dpdk-port-0)] End phy probe. #phys found 1

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0xa9cc val=0x0001

[bnx2x_link_settings_supported:8556(37:00.4:dpdk-port-0)] PHY addr
0x0001

[bnx2x_link_settings_supported:8610(37:00.4:dpdk-port-0)] PHY supported
0=0x000a0f00 1=0x

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0x003c7008 val=0x

[bnx2x_media_detect:8193(37:00.4:dpdk-port-0)] Found 10GBase-CX4 media.

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0x003c735c val=0x211a

[bnx2x_attach:9824(37:00.4:dpdk-port-0)] prev unload fw_seq 0x001a



[bnx2x_nic_load_analyze_req:2785(37:00.4:dpdk-port-0)] loaded FW 0x00010d07
/ my FW 0x00010d07

[bnx2x_pcie_capability_read:7611(37:00.4:dpdk-port-0)] Found PCIe
capability: id=0x0010 type=0x0001 addr=0x00AC

bnx2x_reg_write32(37:00.4:dpdk-port-0): offset=0x003c7360 val=0x

bnx2x_reg_write32(37:00.4:dpdk-port-0): offset=0x003c735c val=0x021c

[elink_cb_fw_command:836(37:00.4:dpdk-port-0)] wrote command 0x021c to
FW MB param 0x

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0x003c7364 val=0x2012001b

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0x003c7364 val=0x021c

[bnx2x_dcbx_set_state:9546(37:00.4:dpdk-port-0)] DCB state [OFF:user-mode]

[bnx2x_print_adapter_info:11819(37:00.4:dpdk-port-0)]


[bnx2x_print_adapter_info:11822(37:00.4:dpdk-port-0)] DPDK : DPDK
20.02.1

[bnx2x_print_adapter_info:11824(37:00.4:dpdk-port-0)]   Driver : BNX2X
PMD 1.78.18_1.1.0.1

[bnx2x_print_adapter_info:11830(37:00.4:dpdk-port-0)] Firmware : 7.13.1

[bnx2x_print_adapter_info:11832(37:00.4:dpdk-port-0)] Bootcode : 7.14.63

[bnx2x_print_adapter_info:11834(37:00.4:dpdk-port-0)] ASIC :
0x168d1010

[bnx2x_print_adapter_info:11836(37:00.4:dpdk-port-0)]  Rev : B1

[bnx2x_print_adapter_info:11839(37:00.4:dpdk-port-0)]Vendor Id : 0x14e4

[bnx2x_p

[dpdk-dev] bnx2x pmd crash when launching testpmd using BCM57840 Nic.

2020-06-28 Thread Anil Kumar Koli
Hi DPDK team,

 

1. I am trying to run testpmd with BCM57840 NIC using DPDK 20.02.1, the
process is crashing at bnx2x_write_dmae(). Had any one seen this kind of
issue earlier.

 

root@gic-mps-104-173:~/bnx2x# ./testpmd.new -l 0-3 -n 4 -w :37:00.4 -w
:37:00.5 --log-level="pmd.net.bnx2x.driver",8 -- -i --portmask=0x3
--nb-cores=2

EAL: Detected 48 lcore(s)

EAL: Detected 2 NUMA nodes

EAL: Multi-process socket /var/run/dpdk/rte/mp_socket

EAL: Selected IOVA mode 'PA'

EAL: Debug dataplane logs available - lower performance

EAL: Probing VFIO support...

EAL: VFIO support initialized

EAL: PCI device :37:00.4 on NUMA socket 0

EAL:   probe driver: 14e4:16a2 net_bnx2x

[bnx2x_load_firmware:9689(37:00.4:dpdk-port-0)] fw_len = 320936

[bnx2x_attach:9756(37:00.4:dpdk-port-0)] Starting attach...

[bnx2x_probe_pci_caps:7645(37:00.4:dpdk-port-0)] Found PM capability:
id=0x0001 type=0x0001 addr=0x0048

[bnx2x_pcie_capability_read:7611(37:00.4:dpdk-port-0)] Found PCIe
capability: id=0x0010 type=0x0001 addr=0x00AC

[bnx2x_probe_pci_caps:7658(37:00.4:dpdk-port-0)] PCIe link speed=3 width=8

[bnx2x_probe_pci_caps:7674(37:00.4:dpdk-port-0)] Found MSI-X capability at
0x

bnx2x_reg_write32(37:00.4:dpdk-port-0): offset=0x9430 val=0x0001

...

[bnx2x_get_device_info:8316(37:00.4:dpdk-port-0)] chip_id=0x168d1010
(num=0x168d rev=0x1 metal=0x01 bond=0x0)

...

[bnx2x_get_device_info:8345(37:00.4:dpdk-port-0)] Port mode = 2

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0x0045 val=0x00040204

[bnx2x_get_function_num:7574(37:00.4:dpdk-port-0)] Relative function 4,
Absolute function 4, Path 0

...

[bnx2x_get_device_info:8382(37:00.4:dpdk-port-0)] Bootcode version: 7.14.63

...

[bnx2x_get_shmem_info:8178(37:00.4:dpdk-port-0)] Ethernet address:
20:67:7c:0d:d0:a2

...

[bnx2x_get_device_info:8448(37:00.4:dpdk-port-0)] IGU Normal Mode

...

[elink_phy_probe:13507(37:00.4:dpdk-port-0)] Begin phy probe

[elink_phy_probe:13526(37:00.4:dpdk-port-0)] phy_config_swapped 0, phy_index
0, actual_phy_idx 0

...

[elink_populate_int_phy:13118(37:00.4:dpdk-port-0)] :chip_id = 0x168d1000

...

[elink_populate_int_phy:13209(37:00.4:dpdk-port-0)] media_type = f0, flags =
1400, supported = a0f00

[elink_populate_int_phy:13239(37:00.4:dpdk-port-0)] Internal phy port=0,
addr=0x1, mdio_ctl=0x8000

...

[elink_populate_preemphasis:13078(37:00.4:dpdk-port-0)] phy->rx_preemphasis.
= 0, phy->tx_preemphasis = 0

...

[elink_populate_preemphasis:13078(37:00.4:dpdk-port-0)] phy->rx_preemphasis
= 0, phy->tx_preemphasis = 0

...

[elink_phy_def_cfg:13413(37:00.4:dpdk-port-0)] Default config phy idx 0 cfg
0x0 speed_cap_mask 0x500050

[elink_phy_def_cfg:13444(37:00.4:dpdk-port-0)] Default config phy idx 0,
req_duplex config 1

[elink_phy_def_cfg:13465(37:00.4:dpdk-port-0)] Requested Duplex = 1,
line_speed = 0, flow_ctrl = 0

[elink_phy_probe:13526(37:00.4:dpdk-port-0)] phy_config_swapped 0, phy_index
1, actual_phy_idx 1

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0x003c6e34 val=0x

[elink_phy_probe:13574(37:00.4:dpdk-port-0)] End phy probe. #phys found 1

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0xa9cc val=0x0001

[bnx2x_link_settings_supported:8556(37:00.4:dpdk-port-0)] PHY addr
0x0001

[bnx2x_link_settings_supported:8610(37:00.4:dpdk-port-0)] PHY supported
0=0x000a0f00 1=0x

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0x003c7008 val=0x

[bnx2x_media_detect:8193(37:00.4:dpdk-port-0)] Found 10GBase-CX4 media.

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0x003c735c val=0x211a

[bnx2x_attach:9824(37:00.4:dpdk-port-0)] prev unload fw_seq 0x001a



[bnx2x_nic_load_analyze_req:2785(37:00.4:dpdk-port-0)] loaded FW 0x00010d07
/ my FW 0x00010d07

[bnx2x_pcie_capability_read:7611(37:00.4:dpdk-port-0)] Found PCIe
capability: id=0x0010 type=0x0001 addr=0x00AC

bnx2x_reg_write32(37:00.4:dpdk-port-0): offset=0x003c7360 val=0x

bnx2x_reg_write32(37:00.4:dpdk-port-0): offset=0x003c735c val=0x021c

[elink_cb_fw_command:836(37:00.4:dpdk-port-0)] wrote command 0x021c to
FW MB param 0x

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0x003c7364 val=0x2012001b

bnx2x_reg_read32(37:00.4:dpdk-port-0): offset=0x003c7364 val=0x021c

[bnx2x_dcbx_set_state:9546(37:00.4:dpdk-port-0)] DCB state [OFF:user-mode]

[bnx2x_print_adapter_info:11819(37:00.4:dpdk-port-0)]


[bnx2x_print_adapter_info:11822(37:00.4:dpdk-port-0)] DPDK : DPDK
20.02.1

[bnx2x_print_adapter_info:11824(37:00.4:dpdk-port-0)]   Driver : BNX2X
PMD 1.78.18_1.1.0.1

[bnx2x_print_adapter_info:11830(37:00.4:dpdk-port-0)] Firmware : 7.13.1

[bnx2x_print_adapter_info:11832(37:00.4:dpdk-port-0)] Bootcode : 7.14.63

[bnx2x_print_adapter_info:11834(37:00.4:dpdk-port-0)] ASIC :
0x168d1010

[bnx2x_print_adapter_info:11836(37:00.4:dpdk-port-0)]  Rev : B1

[bnx2x_print_adapter_info:11839(37:00.4:dpdk-port-0)]Vendor Id : 0x14e4

[bnx2x_p

[dpdk-dev] long initialization time for EAL init

2020-07-28 Thread Anil Kumar Koli
Hi Team,

 

Posting this query on behalf of Balaji as he was not able to send mail to
dpdk-dev.

 

We are using OVS 2.12.0  with DPDK 18.11.2 release on Ubuntu 16.04 LTS. We
do observe long initialization time for EAL init ( ~10 seconds for EAL
memory initialization).

 

Below is our hardware and memory configuration

Hardware  : Dell Server

Sockets(NUMA)   : 2

CPUs  : Each NUMA with 10 CPUs (Intel(R) Xeon(R)
CPU E5-2660 v2 @ 2.20GHz)

RAM  : 128 GB

Hugepages reserverd : 2048 huge pages of 2MB and 100 Huge pages of 1G
(reserved during boot time). We are using only 2MB huge pages for OVS
process.

NIC  : Ethernet 10G 2P X520 ( ixgbe driver )

 

Passing below EAL arguments with OVS process.

2020-07-23T09:46:58.878Z|00014|dpdk|INFO|EAL ARGS: ovs-vswitchd -w
:04:00.0,support-multi-driver=1 -w :42:00.0,support-multi-driver=1
-c 0x1 --huge-dir /mnt/huge_ovs_2M --socket-mem 2048,2048 --socket-limit
2048,2048.

 

We debugged further in DPDK and found out that mmap called in
eal_get_virtual_area is taking more time ( rte_eal_init->
rte_eal_memory_init -> rte_eal_memseg_init -> memseg_primary_init ->
alloc_va_space -> eal_get_virtual_area ->mmap ). Long initialization time is
noticeable difference compared to prior release. Any pointers would be
helpful.

 

EAL Init logs ( rte_eal_memseg_init function taking ~8 seconds )

2020-07-23T09:46:58.878Z|8|dpdk|INFO|Using DPDK 18.11.2

2020-07-23T09:46:58.878Z|9|dpdk|INFO|DPDK Enabled - initializing...

2020-07-23T09:46:58.878Z|00010|dpdk|INFO|No vhost-sock-dir provided -
defaulting to /var/run/openvswitch

2020-07-23T09:46:58.878Z|00011|dpdk|INFO|IOMMU support for vhost-user-client
disabled.

2020-07-23T09:46:58.878Z|00012|dpdk|INFO|POSTCOPY support for
vhost-user-client disabled.

2020-07-23T09:46:58.878Z|00013|dpdk|INFO|Per port memory for DPDK devices
disabled.

2020-07-23T09:46:58.878Z|00014|dpdk|INFO|EAL ARGS: ovs-vswitchd -w
:04:00.0,support-multi-driver=1 -w :42:00.0,support-multi-driver=1
-c 0x1 --huge-dir /mnt/huge_ovs_2M --socket-mem 2048,2048 --socket-limit
2048,2048.

2020-07-23T09:46:58.882Z|00015|dpdk|INFO|EAL: Detected 40 lcore(s)

2020-07-23T09:46:58.882Z|00016|dpdk|INFO|EAL: Detected 2 NUMA nodes

2020-07-23T09:46:58.885Z|00017|dpdk|INFO|EAL: Multi-process socket
/var/run/dpdk/rte/mp_socket

2020-07-23T09:46:58.907Z|00018|dpdk|INFO|EAL: 100 hugepages of size
1073741824 reserved, but no mounted hugetlbfs found for that size

2020-07-23T09:46:58.907Z|00019|dpdk|INFO|EAL: Probing VFIO support...

2020-07-23T09:46:58.907Z|00020|dpdk|INFO|EAL: VFIO support initialized

2020-07-23T09:46:58.907Z|00021|dpdk|INFO|EAL: Ask a virtual area of 0x2e000
bytes

2020-07-23T09:46:58.907Z|00023|dpdk|INFO|EAL: Before mmap ...

2020-07-23T09:46:58.907Z|00024|dpdk|INFO|EAL: After mmap ...

2020-07-23T09:46:58.907Z|00026|dpdk|INFO|EAL: Virtual area found at
0x1 (size = 0x2e000)

2020-07-23T09:46:58.907Z|00029|dpdk|INFO|EAL: Setting up physically
contiguous memory...

2020-07-23T09:46:58.907Z|00032|dpdk|INFO|EAL: Calling rte_eal_memseg_init...

2020-07-23T09:46:58.907Z|00034|dpdk|INFO|EAL: Setting maximum number of open
files to 65535

2020-07-23T09:46:58.907Z|00039|dpdk|INFO|EAL: Creating 4 segment lists:
n_segs:8192 socket_id:0 hugepage_sz:2097152

2020-07-23T09:46:58.907Z|00042|dpdk|INFO|EAL: Ask a virtual area of 0x61000
bytes

2020-07-23T09:46:58.907Z|00044|dpdk|INFO|EAL: Before mmap ...

2020-07-23T09:46:58.907Z|00045|dpdk|INFO|EAL: After mmap ...

2020-07-23T09:46:58.907Z|00047|dpdk|INFO|EAL: Virtual area found at
0x10002e000 (size = 0x61000)

2020-07-23T09:46:58.907Z|00053|dpdk|INFO|EAL: Ask a virtual area of
0x4 bytes

2020-07-23T09:46:58.907Z|00055|dpdk|INFO|EAL: Before mmap ...

2020-07-23T09:46:59.887Z|00056|dpdk|INFO|EAL: After mmap ...

2020-07-23T09:46:59.887Z|00058|dpdk|INFO|EAL: Virtual area found at
0x10020 (size = 0x4)

2020-07-23T09:46:59.888Z|00063|dpdk|INFO|EAL: Ask a virtual area of 0x61000
bytes

2020-07-23T09:46:59.888Z|00065|dpdk|INFO|EAL: Before mmap ...

2020-07-23T09:46:59.888Z|00066|dpdk|INFO|EAL: After mmap ...

2020-07-23T09:46:59.888Z|00068|dpdk|INFO|EAL: Virtual area found at
0x50020 (size = 0x61000)

2020-07-23T09:46:59.888Z|00074|dpdk|INFO|EAL: Ask a virtual area of
0x4 bytes

2020-07-23T09:46:59.888Z|00076|dpdk|INFO|EAL: Before mmap ...

2020-07-23T09:47:00.824Z|00077|dpdk|INFO|EAL: After mmap ...

2020-07-23T09:47:00.824Z|00079|dpdk|INFO|EAL: Virtual area found at
0x50040 (size = 0x4)

2020-07-23T09:47:00.824Z|00084|dpdk|INFO|EAL: Ask a virtual area of 0x61000
bytes

2020-07-23T09:47:00.824Z|00086|dpdk|INFO|EAL: Before mmap ...

2020-07-23T09:47:00.824Z|00087|dpdk|INFO|EAL: After mmap ...

2020-07-23T09:47:00.824Z|00089|dpdk|INFO|EAL: Virtual area found at
0x90040 (size = 0x61000)

2020-07-23T09:47:00.824Z|00095|dpdk|INFO|EAL: Ask a virtual