aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorSieng Piaw Liew <liew.s.piaw@gmail.com>2022-06-22 13:22:17 +0800
committerÁlvaro Fernández Rojas <noltari@gmail.com>2023-03-04 19:28:16 +0100
commit7178adadcca8216a651e10e1fefbd7ebec930c1b (patch)
tree2fe7a3ce6e2e051bdd5302e06d51ac09c9c21cd1 /target
parent3817577c92618256565a55213e440cbcd1bd4e86 (diff)
downloadupstream-7178adadcca8216a651e10e1fefbd7ebec930c1b.tar.gz
upstream-7178adadcca8216a651e10e1fefbd7ebec930c1b.tar.bz2
upstream-7178adadcca8216a651e10e1fefbd7ebec930c1b.zip
bmips: use netdev_alloc_skb() for copybreak
bmips is using Broadcom B53 DSA driver which means the ethernet driver must compensate for 6 bytes tags from the internal switch. This means using NET_IP_ALIGN actually misaligns the skb, lowering performance significantly. Therefore napi_alloc_skb() which uses NET_IP_ALIGN is changed to netdev_alloc_skb(). Performance in iperf3 is increased from ~47Mbps to 52Mbps. Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
Diffstat (limited to 'target')
-rw-r--r--target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6368-enetsw.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6368-enetsw.c b/target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6368-enetsw.c
index d9ecba5188..7ddbf8a10a 100644
--- a/target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6368-enetsw.c
+++ b/target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6368-enetsw.c
@@ -374,7 +374,7 @@ static int bcm6368_enetsw_receive_queue(struct net_device *dev, int budget)
if (len < priv->copybreak) {
struct sk_buff *nskb;
- nskb = napi_alloc_skb(&priv->napi, len);
+ nskb = netdev_alloc_skb(dev, len);
if (!nskb) {
/* forget packet, just rearm desc */
dev->stats.rx_dropped++;