4.15.0-46-generic doesn't support ethtool adaptive-tx for mlx5 card

Bug #1832641 reported by Yangzheng Bai
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Ubuntu Bionic 18.04 LTS:
We found that default bionic kernel 4.15.0-46-generic doesn't support ethtool -C adaptive-tx
Our ethernet card is Mellanox Connect4-Lx and Connect5, and this will affect performance of latency sensitive workloads like memcached.
Maybe we should backport adaptive-tx support to kernel 4.15 LTS?

Xeon Skylake 8168 x86_64:
ubuntu kernel 4.15.0-46-generic
eth: mlx5 connect-5
ethtool doesn't support adaptive-tx (ethernet TX interrupt coalesce)

X-Gene3 aarch64:
ubuntu kernel 4.18.0-16-generic, eth: mlx5 connect-4lx
ethtool supports adaptive-tx (ethernet TX interrupt coalesce)

Same Xeon Skylake 8168 x86_64
latest kernel 5.2.0-rc2
eth: mlx5 connect-5
ethtool supports adaptive-tx (ethernet TX interrupt coalesce)
---
ProblemType: Bug
AlsaDevices:
 total 0
 crw-rw---- 1 root audio 116, 1 Jun 12 14:42 seq
 crw-rw---- 1 root audio 116, 33 Jun 12 14:42 timer
AplayDevices: Error: [Errno 2] No such file or directory: 'aplay': 'aplay'
ApportVersion: 2.20.9-0ubuntu7.6
Architecture: arm64
ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord': 'arecord'
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
DistroRelease: Ubuntu 18.04
IwConfig: Error: [Errno 2] No such file or directory: 'iwconfig': 'iwconfig'
MachineType: AmpereComputing(R) OSPREY EV-883832-X3-0001
Package: linux (not installed)
PciMultimedia:

ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=C.UTF-8
 SHELL=/bin/bash
ProcFB: 0 astdrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.18.0-16-generic root=UUID=698f489c-124b-4ebb-b6c3-14c8b82c978d ro console=ttyAMA0,115200 iommu.passthrough=1
ProcVersionSignature: Ubuntu 4.18.0-16.17~18.04.1-generic 4.18.20
RelatedPackageVersions:
 linux-restricted-modules-4.18.0-16-generic N/A
 linux-backports-modules-4.18.0-16-generic N/A
 linux-firmware 1.173.3
RfKill: Error: [Errno 2] No such file or directory: 'rfkill': 'rfkill'
Tags: bionic uec-images
Uname: Linux 4.18.0-16-generic aarch64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

_MarkForUpload: True
dmi.bios.date: 09/25/2018
dmi.bios.vendor: Ampere(TM)
dmi.bios.version: 4.8.19
dmi.board.asset.tag: APCX3A1-A526-16050501200016
dmi.board.name: OSPREY
dmi.board.vendor: AmpereComputing(R)
dmi.board.version: EV-883832-X3-OD1-2
dmi.chassis.asset.tag: APCX3A1-A526-16050501200016
dmi.chassis.type: 23
dmi.chassis.vendor: AmpereComputing(R)
dmi.chassis.version: APCA1A1-00000000
dmi.modalias: dmi:bvnAmpere(TM):bvr4.8.19:bd09/25/2018:svnAmpereComputing(R):pnOSPREYEV-883832-X3-0001:pvrPR010:rvnAmpereComputing(R):rnOSPREY:rvrEV-883832-X3-OD1-2:cvnAmpereComputing(R):ct23:cvrAPCA1A1-00000000:
dmi.product.family: eMAG
dmi.product.name: OSPREY EV-883832-X3-0001
dmi.product.sku: EV-883832-X3-OBX-1
dmi.product.version: PR010
dmi.sys.vendor: AmpereComputing(R)
---
ProblemType: Bug
AlsaDevices:
 total 0
 crw-rw---- 1 root audio 116, 1 Jun 12 15:22 seq
 crw-rw---- 1 root audio 116, 33 Jun 12 15:22 timer
AplayDevices: Error: [Errno 2] No such file or directory: 'aplay': 'aplay'
ApportVersion: 2.20.9-0ubuntu7.6
Architecture: amd64
ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord': 'arecord'
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
DistroRelease: Ubuntu 18.04
IwConfig: Error: [Errno 2] No such file or directory: 'iwconfig': 'iwconfig'
Lsusb:
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 004: ID 1604:10c0 Tascam
 Bus 001 Device 003: ID 1604:10c0 Tascam
 Bus 001 Device 002: ID 1604:10c0 Tascam
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: Dell Inc. PowerEdge R640
Package: linux (not installed)
PciMultimedia:

ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 LANG=C.UTF-8
 SHELL=/bin/bash
ProcFB: 0 mgadrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.15.0-46-generic root=UUID=cc79d3b3-63ee-450d-84ff-ddd80ab73c80 ro intel_pstate=disable console=ttyS0,115200n8
ProcVersionSignature: Ubuntu 4.15.0-46.49-generic 4.15.18
RelatedPackageVersions:
 linux-restricted-modules-4.15.0-46-generic N/A
 linux-backports-modules-4.15.0-46-generic N/A
 linux-firmware 1.173.3
RfKill: Error: [Errno 2] No such file or directory: 'rfkill': 'rfkill'
Tags: bionic uec-images
Uname: Linux 4.15.0-46-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

_MarkForUpload: True
dmi.bios.date: 05/21/2018
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 1.4.8
dmi.board.name: 0W23H8
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 23
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvr1.4.8:bd05/21/2018:svnDellInc.:pnPowerEdgeR640:pvr:rvnDellInc.:rn0W23H8:rvrA00:cvnDellInc.:ct23:cvr:
dmi.product.family: PowerEdge
dmi.product.name: PowerEdge R640
dmi.sys.vendor: Dell Inc.

Revision history for this message
Yangzheng Bai (zoy) wrote :
Download full text (8.9 KiB)

kernel 4.18 supports Coalesce adaptive TX
====================================================================
uname -a
Linux xgene3 4.18.0-16-generic #17~18.04.1-Ubuntu SMP Tue Feb 12 13:35:39 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux

lspci -vvv
0000:01:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]
 Subsystem: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]

ethtool -i enp1s0
driver: mlx5_core
version: 5.0-0
firmware-version: 14.24.1000 (MT_2430110032)
expansion-rom-version:
bus-info: 0000:01:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes

ethtool -c enp1s0
Coalesce parameters for enp1s0:
Adaptive RX: on TX: on
stats-block-usecs: 0
sample-interval: 0
pkt-rate-low: 0
pkt-rate-high: 0

rx-usecs: 8
rx-frames: 128
rx-usecs-irq: 0
rx-frames-irq: 0

tx-usecs: 8
tx-frames: 128
tx-usecs-irq: 0
tx-frames-irq: 0

rx-usecs-low: 0
rx-frame-low: 0
tx-usecs-low: 0
tx-frame-low: 0

rx-usecs-high: 0
rx-frame-high: 0
tx-usecs-high: 0
tx-frame-high: 0

lsmod
Module Size Used by
nls_iso8859_1 16384 1
rndis_wlan 57344 0
rndis_host 16384 1 rndis_wlan
cdc_ether 16384 1 rndis_host
usbnet 49152 3 rndis_wlan,rndis_host,cdc_ether
cfg80211 733184 1 rndis_wlan
joydev 28672 0
input_leds 16384 0
ipmi_ssif 28672 0
ipmi_devintf 20480 0
ipmi_msghandler 57344 2 ipmi_devintf,ipmi_ssif
xgene_hwmon 20480 0
cppc_cpufreq 16384 0
sch_fq_codel 20480 33
ib_iser 49152 0
rdma_cm 65536 1 ib_iser
iw_cm 40960 1 rdma_cm
ib_cm 61440 1 rdma_cm
iscsi_tcp 20480 0
libiscsi_tcp 28672 1 iscsi_tcp
libiscsi 53248 3 libiscsi_tcp,iscsi_tcp,ib_iser
scsi_transport_iscsi 110592 3 iscsi_tcp,ib_iser,libiscsi
ip_tables 28672 0
x_tables 45056 1 ip_tables
autofs4 53248 2
hid_generic 16384 0
usbhid 61440 0
hid 131072 2 usbhid,hid_generic
btrfs 1273856 0
zstd_compress 159744 1 btrfs
raid10 57344 0
raid456 167936 0
async_raid6_recov 20480 1 raid456
async_memcpy 16384 2 raid456,async_raid6_recov
async_pq 16384 2 raid456,async_raid6_recov
async_xor 16384 3 async_pq,raid456,async_raid6_recov
async_tx 16384 5 async_pq,async_memcpy,async_xor,raid456,async_raid6_recov
xor 20480 2 async_xor,btrfs
uas 24576 0
usb_storage 69632 1 uas
raid6_pq 106496 4 async_pq,btrfs,raid456,async_raid6_recov
libcrc32c 16384 2 btrfs,raid456
raid1 40960 0
raid0 20480 0
multipath 20480 0
linear 16384 0
mlx5_ib 237568 0
ib_uverbs 106496 1 mlx5_ib
ib_core 266240 6 rdma_cm,iw_cm,ib_iser,ib_uverbs,mlx5_ib,ib_cm
dwc3 ...

Read more...

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1832641

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: bionic
Revision history for this message
Yangzheng Bai (zoy) wrote : CRDA.txt

apport information

tags: added: apport-collected uec-images
description: updated
Revision history for this message
Yangzheng Bai (zoy) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : Lspci.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : Lsusb.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : ProcModules.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : UdevDb.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : WifiSyslog.txt

apport information

description: updated
Revision history for this message
Yangzheng Bai (zoy) wrote : CRDA.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : Lspci.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : ProcModules.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : UdevDb.txt

apport information

Revision history for this message
Yangzheng Bai (zoy) wrote : WifiSyslog.txt

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Terry Rudd (terrykrudd) wrote :

Did this work correctly in previous 4.15.0 kernels?

Revision history for this message
Yangzheng Bai (zoy) wrote :

No, it didn't work on 4.13.0 kernel either.

# uname -a
Linux 2p2699v4-217 4.13.0-46-generic #51-Ubuntu SMP Tue Jun 12 12:36:29 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

# ethtool -i enp129s0
driver: mlx5_core
version: 5.0-0
firmware-version: 14.24.1000 (MT_2430110032)
expansion-rom-version:
bus-info: 0000:81:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes

# ethtool -c enp129s0
Coalesce parameters for enp129s0:
Adaptive RX: on TX: off
stats-block-usecs: 0
sample-interval: 0
pkt-rate-low: 0
pkt-rate-high: 0

rx-usecs: 8
rx-frames: 128
rx-usecs-irq: 0
rx-frames-irq: 0

tx-usecs: 16
tx-frames: 32
tx-usecs-irq: 0
tx-frames-irq: 0

rx-usecs-low: 0
rx-frame-low: 0
tx-usecs-low: 0
tx-frame-low: 0

rx-usecs-high: 0
rx-frame-high: 0
tx-usecs-high: 0
tx-frame-high: 0

# lspci -vvv
81:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]
        Subsystem: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]

Revision history for this message
Yangzheng Bai (zoy) wrote :

BTW, on latest 4.4.0-150-generic ubuntu kernel, both adaptive-rx and adaptive-tx were not supported.

# uname -a
Linux 2p2699v4-217 4.4.0-150-generic #176-Ubuntu SMP Wed May 29 18:56:26 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

# ethtool -C enp129s0 adaptive-rx on adaptive-tx on

# ethtool -c enp129s0
Coalesce parameters for enp129s0:
Adaptive RX: off TX: off
stats-block-usecs: 0
sample-interval: 0
pkt-rate-low: 0
pkt-rate-high: 0

rx-usecs: 16
rx-frames: 32
rx-usecs-irq: 0
rx-frames-irq: 0

tx-usecs: 16
tx-frames: 32
tx-usecs-irq: 0
tx-frames-irq: 0

rx-usecs-low: 0
rx-frame-low: 0
tx-usecs-low: 0
tx-frame-low: 0

rx-usecs-high: 0
rx-frame-high: 0
tx-usecs-high: 0
tx-frame-high: 0

Brad Figg (brad-figg)
tags: added: ubuntu-certified
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.