mbox series

[net-next,00/14] mtk_eth_soc: fixes and performance improvements

Message ID 20210422040914.47788-1-ilya.lipnitskiy@gmail.com (mailing list archive)
Headers show
Series mtk_eth_soc: fixes and performance improvements | expand

Message

Ilya Lipnitskiy April 22, 2021, 4:09 a.m. UTC
Most of these changes come from OpenWrt where they have been present and
tested for months.

First three patches are bug fixes. The rest are performance
improvements. The last patch is a cleanup to use the iopoll.h macro for
busy-waiting instead of a custom loop.

Source: 770-*.patch at https://git.openwrt.org/?p=openwrt/openwrt.git;a=tree;f=target/linux/generic/pending-5.10;hb=HEAD

Felix Fietkau (12):
  net: ethernet: mtk_eth_soc: fix RX VLAN offload
  net: ethernet: mtk_eth_soc: unmap RX data before calling build_skb
  net: ethernet: mtk_eth_soc: use napi_consume_skb
  net: ethernet: mtk_eth_soc: reduce MDIO bus access latency
  net: ethernet: mtk_eth_soc: remove unnecessary TX queue stops
  net: ethernet: mtk_eth_soc: use larger burst size for QDMA TX
  net: ethernet: mtk_eth_soc: increase DMA ring sizes
  net: ethernet: mtk_eth_soc: implement dynamic interrupt moderation
  net: ethernet: mtk_eth_soc: cache HW pointer of last freed TX
    descriptor
  net: ethernet: mtk_eth_soc: only read the full RX descriptor if DMA is
    done
  net: ethernet: mtk_eth_soc: reduce unnecessary interrupts
  net: ethernet: mtk_eth_soc: set PPE flow hash as skb hash if present

Ilya Lipnitskiy (2):
  net: ethernet: mtk_eth_soc: fix build_skb cleanup
  net: ethernet: mtk_eth_soc: use iopoll.h macro for DMA init

 drivers/net/ethernet/mediatek/Kconfig       |   1 +
 drivers/net/ethernet/mediatek/mtk_eth_soc.c | 228 ++++++++++++++------
 drivers/net/ethernet/mediatek/mtk_eth_soc.h |  52 ++++-
 3 files changed, 199 insertions(+), 82 deletions(-)

Comments

Andrew Lunn April 22, 2021, 12:23 p.m. UTC | #1
On Wed, Apr 21, 2021 at 09:09:00PM -0700, Ilya Lipnitskiy wrote:
> Most of these changes come from OpenWrt where they have been present and
> tested for months.
> 
> First three patches are bug fixes. The rest are performance
> improvements. The last patch is a cleanup to use the iopoll.h macro for
> busy-waiting instead of a custom loop.

Do you have any benchmark numbers you can share?

   Andrew
Ilya Lipnitskiy April 23, 2021, 4:18 a.m. UTC | #2
On Thu, Apr 22, 2021 at 5:23 AM Andrew Lunn <andrew@lunn.ch> wrote:
>
> On Wed, Apr 21, 2021 at 09:09:00PM -0700, Ilya Lipnitskiy wrote:
> > Most of these changes come from OpenWrt where they have been present and
> > tested for months.
> >
> > First three patches are bug fixes. The rest are performance
> > improvements. The last patch is a cleanup to use the iopoll.h macro for
> > busy-waiting instead of a custom loop.
>
> Do you have any benchmark numbers you can share?
No. Felix, do you have anything handy?

If needed, I'll run some tests before and after the patch series on
OpenWrt against v5.10, but I only have an MT7621 device - should be
better than nothing though...

Ilya