• Sieng Piaw Liew's avatar
    bcm63xx_enet: alloc rx skb with NET_IP_ALIGN · c4a20786
    Sieng Piaw Liew authored
    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: default avatarSieng Piaw Liew <liew.s.piaw@gmail.com>
    Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    c4a20786
bcm63xx_enet.c 70.1 KB