Commit 6578229d authored by Heiner Kallweit's avatar Heiner Kallweit Committed by David S. Miller

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: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e6607555
...@@ -6426,6 +6426,7 @@ static int rtl_rx(struct net_device *dev, struct rtl8169_private *tp, u32 budget ...@@ -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 cur_rx, rx_left;
unsigned int count; unsigned int count;
LIST_HEAD(rx_list);
cur_rx = tp->cur_rx; cur_rx = tp->cur_rx;
...@@ -6501,7 +6502,7 @@ static int rtl_rx(struct net_device *dev, struct rtl8169_private *tp, u32 budget ...@@ -6501,7 +6502,7 @@ static int rtl_rx(struct net_device *dev, struct rtl8169_private *tp, u32 budget
if (skb->pkt_type == PACKET_MULTICAST) if (skb->pkt_type == PACKET_MULTICAST)
dev->stats.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); u64_stats_update_begin(&tp->rx_stats.syncp);
tp->rx_stats.packets++; tp->rx_stats.packets++;
...@@ -6516,6 +6517,8 @@ static int rtl_rx(struct net_device *dev, struct rtl8169_private *tp, u32 budget ...@@ -6516,6 +6517,8 @@ static int rtl_rx(struct net_device *dev, struct rtl8169_private *tp, u32 budget
count = cur_rx - tp->cur_rx; count = cur_rx - tp->cur_rx;
tp->cur_rx = cur_rx; tp->cur_rx = cur_rx;
netif_receive_skb_list(&rx_list);
return count; return count;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment