i40e xps management broken when > 64 queues/cpus
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
Nivedita Singhvi | ||
Bionic |
Fix Released
|
High
|
Nivedita Singhvi |
Bug Description
[Impact]
Transmit packet steering (xps) settings don't work when
the number of queues (cpus) is higher than 64. This is
currently still an issue on the 4.15 kernel (Xenial -hwe
and Bionic kernels).
It was fixed in Intel's i40e driver version 2.7.11 and
in 4.16-rc1 mainline Linux (i.e. Cosmic, Disco have fix).
Fix
-----
The following commit fixes this issue (as identified
by Lihong Yang in discussion with Intel i40e team):
"i40e: Fix the number of queues available to be mapped for use"
Commit: bc6d33c8d93f599
It requires the following commit as well:
i40e: Do not allow use more TC queue pairs than MSI-X vectors exist
Commit: 1563f2d2e01242f
[Test Case]
1. Kernel version: Bionic/Xenial -hwe: any 4.15 kernel
i40e driver version: 2.1.14-k
Any system with > 64 CPUs
2. For any queue 0 - 63, you can read/set tx xps:
echo ffffffff > /sys/class/
echo $?
0
cat /sys/class/
00,00000000,
But for any queue number > 63, we see this error:
echo ffffffff > /sys/class/
echo: write error: Invalid argument
cat /sys/class/
cat: /sys/class/
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Released |
tags: | added: sts |
tags: |
added: verification-done-bionic verification-done-cosmic removed: verification-needed-bionic |
tags: | removed: verification-done-cosmic |
tags: | added: cscc |
It's been reported by an external reporter and reproduced
internally.