[PATCH net-next 00/12] ibmvnic: Performance improvements and other updates
Thomas Falcon
tlfalcon at linux.ibm.com
Fri Nov 13 06:09:55 AEDT 2020
First, memory barrier protection of device queue reads to ensure RX
and TX buffer completions are not missed. The subsequent three
patches utilize a hypervisor call allowing multiple TX and RX buffer
replenishment descriptors to be sent in one operation, which
significantly reduces hypervisor call overhead. The xmit_more and
Byte Queue Limits API's are leveraged to provide this support
for TX descriptors.
The next four patches fix TX completion error handling, remove
superfluous code and members in TX completion handling function
and TX buffer structure respectively, update ndo_start_xmit error
handling and improve accuracy of statistics tracking, and remove
unused routines.
Finally, patches to ensure that device queue memory
is cache-line aligned, resolving slowdowns observed in PCI traces,
as well as optimizatons to the driver's NAPI polling function and
to RX buffer replenishment are provided by Dwip Banerjee.
This series provides significant performance improvements, allowing
the driver to fully utilize 100Gb NIC's.
Dwip N. Banerjee (4):
ibmvnic: Ensure that device queue memory is cache-line aligned
ibmvnic: Correctly re-enable interrupts in NAPI polling routine
ibmvnic: Use netdev_alloc_skb instead of alloc_skb to replenish RX
buffers
ibmvnic: Do not replenish RX buffers after every polling loop
Thomas Falcon (8):
ibmvnic: Ensure that subCRQ entry reads are ordered
ibmvnic: Introduce indirect subordinate Command Response Queue buffer
ibmvnic: Introduce batched RX buffer descriptor transmission
ibmvnic: Introduce xmit_more support using batched subCRQ hcalls
ibmvnic: Fix TX completion error handling
ibmvnic: Clean up TX code and TX buffer data structure
ibmvnic: Clean up TX error handling and statistics tracking
ibmvnic: Remove send_subcrq function
drivers/net/ethernet/ibm/ibmvnic.c | 390 ++++++++++++++++-------------
drivers/net/ethernet/ibm/ibmvnic.h | 30 +--
2 files changed, 228 insertions(+), 192 deletions(-)
--
2.26.2
More information about the Linuxppc-dev
mailing list