]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'GVE-Raw-Addressing'
authorDavid S. Miller <davem@davemloft.net>
Wed, 9 Dec 2020 00:06:29 +0000 (16:06 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 9 Dec 2020 00:13:54 +0000 (16:13 -0800)
commit314583eccba3fda1a7ea86e8e554416b217dfb19
treefcaa4784b3e2541ffa6319c37a2040e4ae3265c3
parent9184e0ac960a884d125a61cb076642930c9261a0
parentccc1820203565fb72663091369cb1460c796767c
Merge branch 'GVE-Raw-Addressing'

David Awogbemil says:

====================
GVE Raw Addressing
Patchset description:
This  patchset introduces "raw addressing" mode to the GVE driver.
Previously (in "queue_page_list" or "qpl" mode), the driver would
pre-allocate and dma_map buffers to be used on egress and ingress.
On egress, it would copy data from the skb provided to the
pre-allocated buffers - this was expensive.
In raw addressing mode, the driver can avoid this copy and simply
dma_map the skb's data so that the NIC can use it.
On ingress, the driver passes buffers up to the networking stack and
then frees and reallocates buffers when necessary instead of using
skb_copy_to_linear_data.
Patch 3 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 eliminate the use of get_page in tracking
page refcounts.

Changes from v9:
  Patch 4: Use u64, not u32 for new tx stat counters.
====================

Reviewed-by: Alexander Duyck <alexanderduyck@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>