gve: Rx Buffer Recycling
authorDavid Awogbemila <awogbemila@google.com>
Mon, 7 Dec 2020 22:45:25 +0000 (14:45 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Dec 2020 00:06:28 +0000 (16:06 -0800)
commit02b0e0c18ba75227e0482600950c6abe71ace30f
tree2e6efbc3e56f16737577634b52ea2ccddb6566a5
parentede3fcf5ec67f717e297f060ad00b524a074c4e0
gve: Rx Buffer Recycling

This patch lets the driver reuse buffers that have been freed by the
networking stack.

In the raw addressing case, this allows the driver avoid allocating new
buffers.
In the qpl case, the driver can avoid copies.

This patch separates the page refcount tracking mechanism
into a function gve_rx_can_recycle_buffer which uses get_page - this will
be changed in a future patch to entirely eliminate the use of get_page in
tracking page refcounts.

Signed-off-by: David Awogbemila <awogbemila@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/google/gve/gve.h
drivers/net/ethernet/google/gve/gve_rx.c