ionic: implement support for rx sgl
authorShannon Nelson <snelson@pensando.io>
Thu, 24 Oct 2019 00:48:59 +0000 (17:48 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 26 Oct 2019 03:52:36 +0000 (20:52 -0700)
commit08f2e4b2b2008ce461dd6958caa616a2e3a30ac8
treec89bad68a89b49fc24ad0fcf5a13664b7848abad
parent089406bc5ad639e4fcc9419f70f4d3d91d7370cb
ionic: implement support for rx sgl

Even out Rx performance across MTU sizes by changing from full
skb allocations to page-based frag allocations.  The device
supports a form of scatter-gather in the Rx path, so we can
set up a number of pages for each descriptor, all of which are
easier to alloc and pass around than the standard kzalloc'd
buffer.  An skb is wrapped around the pages while processing
the received packets, and pages are recycled as needed, or
left alone if they weren't used in the Rx.

Signed-off-by: Shannon Nelson <snelson@pensando.io>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/pensando/ionic/ionic_dev.h
drivers/net/ethernet/pensando/ionic/ionic_lif.c
drivers/net/ethernet/pensando/ionic/ionic_txrx.c