> -----Original Message----- > From: David Christensen <d...@linux.vnet.ibm.com> > Sent: Thursday, August 1, 2019 21:24 > To: Slava Ovsiienko <viachesl...@mellanox.com> > Cc: dev@dpdk.org > Subject: Re: [PATCH] net/mlx5: txq_inline_min not set for ConnectX-5 > adapters > > > 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.
Yes, mlx5_set_min_inline() does not set txq_inline_min by default. So, your patch is OK. I mean the actual inline_len is set to 0 before actual usage in txq_set_params() routine, so not setting config->txq_inline_min to default zero should not cause negative backwards. > > > 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 > <https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgnu.o > rg%2Flicenses%2Fgpl.html&data=02%7C01%7Cviacheslavo%40mellano > x.com%7C8a11bcca3a8e4ebe791a08d716ad8097%7Ca652971c7d2e4d9ba6 > a4d149256f461b%7C0%7C0%7C637002806753488254&sdata=Q8ZfYRC > 5VmPKcm9FA2ExoMexUrMYnODMbFGi1V6V3gQ%3D&reserved=0> > 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: > <https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww > .gnu.org%2Fsoftware%2Fgdb%2Fbugs%2F&data=02%7C01%7Cviachesl > avo%40mellanox.com%7C8a11bcca3a8e4ebe791a08d716ad8097%7Ca6529 > 71c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637002806753488254& > ;sdata=YIxP86tF2y5O1bnXFWdCVt55xyuYP%2BMwpIr2WZDe2%2B8%3D&am > p;reserved=0>... > 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)