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
<http://gnu.org/licenses/gpl.html>
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:
<http://www.gnu.org/software/gdb/bugs/>...
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
/home/davec/src/dpdk/app/test-pmd/testpmd.c:3234
3234 signal(SIGINT, signal_handler);
Missing separate debuginfos, use: debuginfo-install
advance-toolchain-at12.0-runtime-12.0-1.ppc64le
libibverbs-17.2-3.el7.ppc64le
(gdb) c
Continuing.
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
configuration
Breakpoint 1, mlx5_set_min_inline (spawn=0x7fffffffe500,
config=0x7fffffffe4a0)
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,
config=0x7fffffffe4a0)
at /home/davec/src/dpdk/drivers/net/mlx5/mlx5.c:1345
1345 break;
(gdb) n
1351 DRV_LOG(DEBUG, "min tx inline configured: %d",
config->txq_inline_min);
(gdb) p config->txq_inline_min
$4 = -1
(gdb)