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

Slava Ovsiienko viacheslavo at mellanox.com
Fri Aug 2 05:48:56 CEST 2019


> -----Original Message-----
> From: David Christensen <drc at linux.vnet.ibm.com>
> Sent: Thursday, August 1, 2019 21:24
> To: Slava Ovsiienko <viacheslavo at mellanox.com>
> Cc: dev at 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&amp
> ;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)


More information about the dev mailing list