diff options
author | Sieng 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 |
commit | 7178adadcca8216a651e10e1fefbd7ebec930c1b (patch) | |
tree | 2fe7a3ce6e2e051bdd5302e06d51ac09c9c21cd1 /target/linux | |
parent | 3817577c92618256565a55213e440cbcd1bd4e86 (diff) | |
download | upstream-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/linux')
-rw-r--r-- | target/linux/bmips/files/drivers/net/ethernet/broadcom/bcm6368-enetsw.c | 2 |
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++; |