[dpdk-dev] [PATCH] net/mlx5: txq_inline_min not set for ConnectX-5 adapters

David Christensen drc at linux.vnet.ibm.com
Thu Aug 1 20:24:27 CEST 2019

> Yes, thank you for the patch, acked.
> The "txq_inline_min" value was not set for ConnectX-5 to 0 as default.
> At the TX queue setup time the "txq_inline_min" is checked against MLX5_ARG_UNSET
> and default value 0 is set:
> txq_set_params()
> ...
> inlen_mode = (config->txq_inline_min == MLX5_ARG_UNSET) ?
>                       0 : (unsigned int)config->txq_inline_min;
> So, there should be no negative backwards. Did you observe any?

The gdb session below shows how the value is unchanged after passing 
through mlx5_set_min_inline on my system without the change.

sudo LD_LIBRARY_PATH=/home/davec/src/dpdk/build/lib gdb --args 
/home/davec/src/dpdk/build/app/testpmd  -w 0000:01:00.0 -w 0000:01:00.1 
-l 4,8-79 -n 4 --iova-mode=pa  -- --rxq=4 --rxd=1024 --txq=4 --txd=4096 
--nb-cores=8 -i -a --numa --forward-mode=rxonly
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-114.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "ppc64le-redhat-linux-gnu".
For bug reporting instructions, please see:
Reading symbols from /home/davec/src/dpdk/build/app/testpmd...done.
(gdb) b mlx5_set_min_inline
Breakpoint 1 at 0x10579da0: file 
/home/davec/src/dpdk/drivers/net/mlx5/mlx5.c, line 1251.
(gdb) start
Temporary breakpoint 2 at 0x100a9b38: file 
/home/davec/src/dpdk/app/test-pmd/testpmd.c, line 3234.
Starting program: /home/davec/src/dpdk/build/app/testpmd -w 0000:01:00.0 
-w 0000:01:00.1 -l 4,8-79 -n 4 --iova-mode=pa -- --rxq=4 --rxd=1024 
--txq=4 --txd=4096 --nb-cores=8 -i -a --numa --forward-mode=rxonly
warning: Could not load shared library symbols for linux-vdso64.so.1.
Do you need "set solib-search-path" or "set sysroot"?
warning: Unable to find libthread_db matching inferior's thread library, 
thread debugging will not be available.

Temporary breakpoint 2, main (argc=20, argv=0x7fffffffef68) at 
3234		signal(SIGINT, signal_handler);
Missing separate debuginfos, use: debuginfo-install 
(gdb) c
EAL: Detected 160 lcore(s)
EAL: Detected 2 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: No available hugepages reported in hugepages-2048kB
EAL: Probing VFIO support...
EAL: PCI device 0000:01:00.0 on NUMA socket 0
EAL:   probe driver: 15b3:1019 net_mlx5
net_mlx5: mlx5.c:1684: mlx5_dev_spawn(): MPLS over GRE/UDP tunnel 
offloading disabled due to old OFED/rdma-core version or firmware 

Breakpoint 1, mlx5_set_min_inline (spawn=0x7fffffffe500, 
     at /home/davec/src/dpdk/drivers/net/mlx5/mlx5.c:1251
1251		if (config->txq_inline_min != MLX5_ARG_UNSET) {
(gdb) p config->txq_inline_min
$1 = -1
(gdb) n
1268		if (config->hca_attr.eth_net_offloads) {
(gdb) n
1323		switch (spawn->pci_dev->id.device_id) {
(gdb) p/x spawn->pci_dev->id.vendor_id
$2 = 0x15b3
(gdb) p/x spawn->pci_dev->id.device_id
$3 = 0x1019
(gdb) n
1343			config->hw_vlan_insert = 0;
(gdb) n
1344			config->txq_inline_min = MLX5_INLINE_HSIZE_NONE;
(gdb) tbreak +1
Temporary breakpoint 3 at 0x1057a0f0: file 
/home/davec/src/dpdk/drivers/net/mlx5/mlx5.c, line 1345.
(gdb) jump +1
Continuing at 0x1057a0f0.

Temporary breakpoint 3, mlx5_set_min_inline (spawn=0x7fffffffe500, 
     at /home/davec/src/dpdk/drivers/net/mlx5/mlx5.c:1345
1345			break;
(gdb) n
1351		DRV_LOG(DEBUG, "min tx inline configured: %d", 
(gdb) p config->txq_inline_min
$4 = -1

More information about the dev mailing list