mbox

[00/14] net/ionic: struct optimizations, fixes

Message ID 20210204195853.13411-1-aboyer@pensando.io (mailing list archive)
Headers

Message

Andrew Boyer Feb. 4, 2021, 7:58 p.m. UTC
  This patch series reorganizes the main datastructure for each
queue, struct ionic_qcq. Its constituent struct ionic_queue and
struct ionic_cq are stripped down first. Then the generic struct
ionic_qcq is stripped down, and a unique struct is created for
each queue type.

The adminq code is consolidated into ionic_main.c as part of the
cleanup.

Next comes some minor performance fixups related to queue posting
and doorbells.

Finally, two minor fixes to Tx packet prep and LIF init.

Signed-off-by: Andrew Boyer <aboyer@pensando.io>

Andrew Boyer (14):
  net/ionic: cut down completion queue structure
  net/ionic: consolidate adminq code
  net/ionic: convert info array to generic pointers
  net/ionic: remove unused field from queue structure
  net/ionic: remove unused interrupt free function
  net/ionic: cut down queue structure
  net/ionic: split up queue-completion queue structure
  net/ionic: use the socket id passed in for Rx and Tx queues
  net/ionic: log queue counters when tearing down
  net/ionic: break up queue post function
  net/ionic: ring doorbell once at the end of each burst
  net/ionic: send as many packets as possible
  net/ionic: fix Tx fragment limit check
  net/ionic: fix code around lif init devcmd

 drivers/net/ionic/ionic.h           |  13 ++
 drivers/net/ionic/ionic_dev.c       | 132 +-------------
 drivers/net/ionic/ionic_dev.h       |  81 +++------
 drivers/net/ionic/ionic_lif.c       | 242 +++++++++++++------------
 drivers/net/ionic/ionic_lif.h       |  77 +++++---
 drivers/net/ionic/ionic_main.c      |  93 +++++++++-
 drivers/net/ionic/ionic_rx_filter.c |   1 +
 drivers/net/ionic/ionic_rxtx.c      | 265 ++++++++++++++++------------
 8 files changed, 458 insertions(+), 446 deletions(-)