This patch series aim to improve the bcm63xx_enet driver by integrating the latest networking features, i.e. batched rx processing, BQL, build_skb, etc.
The newer enetsw SoCs are found to be able to do unaligned rx DMA by adding NET_IP_ALIGN padding which, combined with these patches, improved packet processing performance by ~50% on BCM6328. Older non-enetsw SoCs still benefit mainly from rx batching. Performance improvement of ~30% is observed on BCM6333. The BCM63xx SoCs are designed for routers. As such, having BQL is beneficial as well as trivial to add. v3: * Simplify xmit_more patch by not moving around the code needlessly. * Fix indentation in xmit_more patch. * Fix indentation in build_skb patch. * Split rx ring cleanup patch from build_skb patch and precede build_skb patch for better understanding, as suggested by Florian Fainelli. v2: * Add xmit_more support and rx loop improvisation patches. * Moved BQL netdev_reset_queue() to bcm_enet_stop()/bcm_enetsw_stop() functions as suggested by Florian Fainelli. * Improved commit messages. Sieng Piaw Liew (7): bcm63xx_enet: batch process rx path bcm63xx_enet: add BQL support bcm63xx_enet: add xmit_more support bcm63xx_enet: alloc rx skb with NET_IP_ALIGN bcm63xx_enet: consolidate rx SKB ring cleanup code bcm63xx_enet: convert to build_skb bcm63xx_enet: improve rx loop drivers/net/ethernet/broadcom/bcm63xx_enet.c | 186 +++++++++---------- drivers/net/ethernet/broadcom/bcm63xx_enet.h | 14 +- 2 files changed, 103 insertions(+), 97 deletions(-) -- 2.17.1