From 6578229d4efb7ea6287861bfc2bd306140458e07 Mon Sep 17 00:00:00 2001 From: Heiner Kallweit Date: Sun, 31 Mar 2019 15:18:48 +0200 Subject: [PATCH] r8169: use netif_receive_skb_list batching Use netif_receive_skb_list() instead of napi_gro_receive() to benefit from batched skb processing. Signed-off-by: Heiner Kallweit Signed-off-by: David S. Miller --- drivers/net/ethernet/realtek/r8169.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index a8ca26c2ae0c..c9ee1c8eb635 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -6426,6 +6426,7 @@ static int rtl_rx(struct net_device *dev, struct rtl8169_private *tp, u32 budget { unsigned int cur_rx, rx_left; unsigned int count; + LIST_HEAD(rx_list); cur_rx = tp->cur_rx; @@ -6501,7 +6502,7 @@ process_pkt: if (skb->pkt_type == PACKET_MULTICAST) dev->stats.multicast++; - napi_gro_receive(&tp->napi, skb); + list_add_tail(&skb->list, &rx_list); u64_stats_update_begin(&tp->rx_stats.syncp); tp->rx_stats.packets++; @@ -6516,6 +6517,8 @@ release_descriptor: count = cur_rx - tp->cur_rx; tp->cur_rx = cur_rx; + netif_receive_skb_list(&rx_list); + return count; }