From: Felix Fietkau Date: Tue, 17 Oct 2017 13:52:08 +0000 (+0200) Subject: Revert "ar71xx: Add GRO support to ag71xx" X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3db529d5ccdd5d8cec96d1e0f64583a1c9449a82;p=librecmc%2Flibrecmc.git Revert "ar71xx: Add GRO support to ag71xx" This reverts commit 13e5e473699b92f171205e0f5c57c9ebe7922492. This commit causes a severe regression in LAN->WAN routing performance for several devices. This appears to be caused by the extra requirement to validate the SKB checksum early in the rx path, which the ethernet hardware does not do Signed-off-by: Felix Fietkau --- diff --git a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c index ae1bdf6066..566e9513d8 100644 --- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c +++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c @@ -1089,7 +1089,7 @@ next: while ((skb = __skb_dequeue(&queue)) != NULL) { skb->protocol = eth_type_trans(skb, dev); - napi_gro_receive(&ag->napi, skb); + netif_receive_skb(skb); } DBG("%s: rx finish, curr=%u, dirty=%u, done=%d\n", @@ -1141,7 +1141,7 @@ static int ag71xx_poll(struct napi_struct *napi, int limit) DBG("%s: disable polling mode, rx=%d, tx=%d,limit=%d\n", dev->name, rx_done, tx_done, limit); - napi_complete_done(napi, rx_done); + napi_complete(napi); /* enable interrupts */ spin_lock_irqsave(&ag->lock, flags); @@ -1160,7 +1160,7 @@ oom: pr_info("%s: out of memory\n", dev->name); mod_timer(&ag->oom_timer, jiffies + AG71XX_OOM_REFILL); - napi_complete_done(napi, rx_done); + napi_complete(napi); return 0; }