mbox

[v2,00/15] net/ionic: struct optimizations, fixes

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

Message

Andrew Boyer Feb. 16, 2021, 8:35 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, a minor improvement to Tx packet prep and a minor fix
for LIF init.

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

--
v2:
* Resend for new DPDK release cycle
* Insert a new patch "net/ionic: remove unused filter delete function" so
  that even more adminq code can be staticized
* Update second-to-last patch which was partially applied in 21.02

Andrew Boyer (15):
  net/ionic: cut down completion queue structure
  net/ionic: remove unused filter delete function
  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: store Tx fragment limit in queue
  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       |  82 +++------
 drivers/net/ionic/ionic_lif.c       | 242 +++++++++++++------------
 drivers/net/ionic/ionic_lif.h       |  77 +++++---
 drivers/net/ionic/ionic_main.c      |  95 +++++++++-
 drivers/net/ionic/ionic_rx_filter.c |  15 +-
 drivers/net/ionic/ionic_rx_filter.h |   1 -
 drivers/net/ionic/ionic_rxtx.c      | 265 ++++++++++++++++------------
 9 files changed, 458 insertions(+), 464 deletions(-)