diff options
Diffstat (limited to 'target/linux/bcm63xx/patches-5.10/023-v5.12-bcm63xx_enet-alloc-rx-skb-with-NET_IP_ALIGN.patch')
-rw-r--r-- | target/linux/bcm63xx/patches-5.10/023-v5.12-bcm63xx_enet-alloc-rx-skb-with-NET_IP_ALIGN.patch | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/target/linux/bcm63xx/patches-5.10/023-v5.12-bcm63xx_enet-alloc-rx-skb-with-NET_IP_ALIGN.patch b/target/linux/bcm63xx/patches-5.10/023-v5.12-bcm63xx_enet-alloc-rx-skb-with-NET_IP_ALIGN.patch deleted file mode 100644 index b40366b17b..0000000000 --- a/target/linux/bcm63xx/patches-5.10/023-v5.12-bcm63xx_enet-alloc-rx-skb-with-NET_IP_ALIGN.patch +++ /dev/null @@ -1,45 +0,0 @@ -From c4a207865e7ea310dc146ff4aa1b0aa0c78d3fe1 Mon Sep 17 00:00:00 2001 -From: Sieng Piaw Liew <liew.s.piaw@gmail.com> -Date: Wed, 6 Jan 2021 22:42:05 +0800 -Subject: [PATCH 4/7] bcm63xx_enet: alloc rx skb with NET_IP_ALIGN - -Use netdev_alloc_skb_ip_align on newer SoCs with integrated switch -(enetsw) when refilling RX. Increases packet processing performance -by 30% (with netif_receive_skb_list). - -Non-enetsw SoCs cannot function with the extra pad so continue to use -the regular netdev_alloc_skb. - -Tested on BCM6328 320 MHz and iperf3 -M 512 to measure packet/sec -performance. - -Before: -[ ID] Interval Transfer Bandwidth Retr -[ 4] 0.00-30.00 sec 120 MBytes 33.7 Mbits/sec 277 sender -[ 4] 0.00-30.00 sec 120 MBytes 33.5 Mbits/sec receiver - -After (+netif_receive_skb_list): -[ 4] 0.00-30.00 sec 155 MBytes 43.3 Mbits/sec 354 sender -[ 4] 0.00-30.00 sec 154 MBytes 43.1 Mbits/sec receiver - -Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com> -Acked-by: Florian Fainelli <f.fainelli@gmail.com> -Signed-off-by: Jakub Kicinski <kuba@kernel.org> ---- - drivers/net/ethernet/broadcom/bcm63xx_enet.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - ---- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c -+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c -@@ -237,7 +237,10 @@ static int bcm_enet_refill_rx(struct net - desc = &priv->rx_desc_cpu[desc_idx]; - - if (!priv->rx_skb[desc_idx]) { -- skb = netdev_alloc_skb(dev, priv->rx_skb_size); -+ if (priv->enet_is_sw) -+ skb = netdev_alloc_skb_ip_align(dev, priv->rx_skb_size); -+ else -+ skb = netdev_alloc_skb(dev, priv->rx_skb_size); - if (!skb) - break; - priv->rx_skb[desc_idx] = skb; |