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>
This commit is contained in:
Sieng Piaw Liew 2022-06-22 13:22:17 +08:00 committed by Álvaro Fernández Rojas
parent 3817577c92
commit 7178adadcc

View File

@ -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++;