Hi!

This set starts with three micro optimizations to the TX path.
The improvement is measurable, but below 1% of CPU utilization.

Patches 4 - 9 add basic TX offloads to representor devices, like
checksum offload or TSO, and remove the unnecessary TX lock and
Qdisc (our representors are software constructs on top of the PF).

The last 2 patches add more info to error messages - id of command
which failed and exact location of incorrect TLVs, very useful for
debugging.


Jakub Kicinski (11):
  nfp: copy only the relevant part of the TX descriptor for frags
  nfp: move temporary variables in nfp_net_tx_complete()
  nfp: move queue variable init
  nfp: correct descriptor offsets in presence of metadata
  nfp: avoid oversized TSO headers with metadata prepend
  nfp: run representor TX locklessly
  nfp: run don't require Qdiscs on representor netdevs
  nfp: add locking around representor changes
  nfp: add offloads on representors
  nfp: add offset to all TLV parsing errors
  nfp: report more info when reconfiguration fails

 drivers/net/ethernet/netronome/nfp/abm/main.c |  4 +
 drivers/net/ethernet/netronome/nfp/nfp_app.c  | 42 +++++++++
 drivers/net/ethernet/netronome/nfp/nfp_net.h  |  3 +
 .../ethernet/netronome/nfp/nfp_net_common.c   | 81 ++++++++++-------
 .../net/ethernet/netronome/nfp/nfp_net_ctrl.c | 21 +++--
 .../net/ethernet/netronome/nfp/nfp_net_ctrl.h |  7 ++
 .../net/ethernet/netronome/nfp/nfp_net_repr.c | 90 +++++++++++++++++++
 .../net/ethernet/netronome/nfp/nfp_net_repr.h |  2 +
 8 files changed, 213 insertions(+), 37 deletions(-)

-- 
2.17.1

Reply via email to