OSDN Git Service

atl1c: add 4 RX/TX queue support for Mikrotik 10/25G NIC
authorGatis Peisenieks <gatis@mikrotik.com>
Thu, 27 May 2021 14:44:23 +0000 (17:44 +0300)
committerJakub Kicinski <kuba@kernel.org>
Thu, 27 May 2021 23:06:46 +0000 (16:06 -0700)
commit057f4af2b1716f6d6cef285a1c9b7a9bb63d822b
tree6f80e840a62ac13297c67336a72fb05dec3f95dc
parent8042824a3c0bcf7fc96c62b932b44b0b54714642
atl1c: add 4 RX/TX queue support for Mikrotik 10/25G NIC

More RX/TX queues on a network card help spread the CPU load among
cores and achieve higher overall networking performance. The new
Mikrotik 10/25G NIC supports 4 RX and 4 TX queues. TX queues are
treated with equal priority. RX queue balancing is fixed based on
L2/L3/L4 hash.

This adds support for 4 RX/TX queues while maintaining backwards
compatibility with older hardware.

Simultaneous TX + RX performance on AMD Threadripper 3960X
with Mikrotik 10/25G NIC improved from 1.6Mpps to 3.2Mpps per port.

Backwards compatiblitiy was verified with AR8151 and AR8131 based
NICs.

Signed-off-by: Gatis Peisenieks <gatis@mikrotik.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/atheros/atl1c/atl1c.h
drivers/net/ethernet/atheros/atl1c/atl1c_hw.h
drivers/net/ethernet/atheros/atl1c/atl1c_main.c