OSDN Git Service

gve: Reduce alloc and copy costs in the GQ rx path
authorShailend Chand <shailend@google.com>
Sat, 29 Oct 2022 16:53:22 +0000 (09:53 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 2 Nov 2022 11:52:51 +0000 (11:52 +0000)
commit82fd151d38d9fda714c5bb2e9e79ecd6bdc72da6
tree2182458d2230c574ea1896c6931190e0fcd84818
parentd08b0f8f46e45a274fc8c9a5bc92cb9da70d9887
gve: Reduce alloc and copy costs in the GQ rx path

Previously, even if just one of the many fragments of a 9k packet
required a copy, we'd copy the whole packet into a freshly-allocated
9k-sized linear SKB, and this led to performance issues.

By having a pool of pages to copy into, each fragment can be
independently handled, leading to a reduced incidence of
allocation and copy.

Signed-off-by: Shailend Chand <shailend@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/google/gve/gve.h
drivers/net/ethernet/google/gve/gve_ethtool.c
drivers/net/ethernet/google/gve/gve_rx.c
drivers/net/ethernet/google/gve/gve_rx_dqo.c
drivers/net/ethernet/google/gve/gve_utils.c
drivers/net/ethernet/google/gve/gve_utils.h