mbox series

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

Message ID 20210204195853.13411-1-aboyer@pensando.io (mailing list archive)
Headers show
Series net/ionic: struct optimizations, fixes | expand

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(-)

Comments

Andrew Boyer Feb. 4, 2021, 8:25 p.m. UTC | #1
> On Feb 4, 2021, at 2:58 PM, Andrew Boyer <aboyer@pensando.io> wrote:
> 
> 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(-)
> 
> -- 
> 2.17.1
> 

Looks like I missed the boat on this release. I will re-send 13/14 as a standalone.

-Andrew