OSDN Git Service

bcm63xx_enet: batch process rx path
authorSieng Piaw Liew <liew.s.piaw@gmail.com>
Wed, 6 Jan 2021 14:42:02 +0000 (22:42 +0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 7 Jan 2021 20:39:52 +0000 (12:39 -0800)
commit9cbfea02c1dbee0afb9128f065e6e793672b9ff7
treed503071d75f0a6ed891323e01d89c0c9ba27d751
parent2e4233870557ac12387f885756b70fc181cb3806
bcm63xx_enet: batch process rx path

Use netif_receive_skb_list to batch process rx skb.
Tested on BCM6328 320 MHz using iperf3 -M 512, increasing performance
by 12.5%.

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:
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-30.00  sec   136 MBytes  37.9 Mbits/sec  203         sender
[  4]   0.00-30.00  sec   135 MBytes  37.7 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