[PATCH 0/2][SRU][B] i40e: xps management broken when > 64 queues/cpus
Nivedita Singhvi
nivedita.singhvi at canonical.com
Tue Mar 26 08:30:46 UTC 2019
BugLink: https://bugs.launchpad.net/bugs/1820948
[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: bc6d33c8d93f5999920e97a8c6330b8910053d4f
It requires the following commit as well:
i40e: Do not allow use more TC queue pairs than MSI-X vectors exist
Commit: 1563f2d2e01242f05dd523ffd56fe104bc1afd58
[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/net/eth2/queues/tx-63/xps_cpus
echo $?
0
cat /sys/class/net/eth2/queues/tx-63/xps_cpus
00,00000000,ffffffff
But for any queue number > 63, we see this error:
echo ffffffff > /sys/class/net/eth2/queues/tx-64/xps_cpus
echo: write error: Invalid argument
cat /sys/class/net/eth2/queues/tx-64/xps_cpus
cat: /sys/class/net/eth2/queues/tx-64/xps_cpus: Invalid argument
Amritha Nambiar (1):
i40e: Fix the number of queues available to be mapped for use
Paweł Jabłoński (1):
i40e: Do not allow use more TC queue pairs than MSI-X vectors exist
drivers/net/ethernet/intel/i40e/i40e_main.c | 29 ++++++++++++---------
1 file changed, 17 insertions(+), 12 deletions(-)
--
2.17.1
More information about the kernel-team
mailing list