RE: [EXT] Re: [PATCH net-next 3/5] net: mvpp2: cls: Use RSS contexts to handle RSS tables

From: Stefan Chulski
Date: Sat May 09 2020 - 08:31:45 EST




> -----Original Message-----
> From: Matteo Croce <mcroce@xxxxxxxxxx>
> Sent: Saturday, May 9, 2020 3:16 PM
> To: Stefan Chulski <stefanc@xxxxxxxxxxx>
> Cc: David S . Miller <davem@xxxxxxxxxxxxx>; Maxime Chevallier
> <maxime.chevallier@xxxxxxxxxxx>; netdev <netdev@xxxxxxxxxxxxxxx>; LKML
> <linux-kernel@xxxxxxxxxxxxxxx>; Antoine Tenart
> <antoine.tenart@xxxxxxxxxxx>; Thomas Petazzoni
> <thomas.petazzoni@xxxxxxxxxxx>; gregory.clement@xxxxxxxxxxx;
> miquel.raynal@xxxxxxxxxxx; Nadav Haklai <nadavh@xxxxxxxxxxx>; Marcin
> Wojtas <mw@xxxxxxxxxxxx>; Linux ARM <linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx>; Russell King - ARM Linux admin
> <linux@xxxxxxxxxxxxxxx>
> Subject: Re: [EXT] Re: [PATCH net-next 3/5] net: mvpp2: cls: Use RSS contexts to
> handle RSS tables
>
> On Sat, May 9, 2020 at 1:16 PM Stefan Chulski <stefanc@xxxxxxxxxxx> wrote:
> > > Hi,
> > >
> > > What do you think about temporarily disabling it like this?
> > >
> > > --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> > > +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c
> > > @@ -5775,7 +5775,8 @@ static int mvpp2_port_probe(struct
> > > platform_device *pdev,
> > > NETIF_F_HW_VLAN_CTAG_FILTER;
> > >
> > > if (mvpp22_rss_is_supported()) {
> > > - dev->hw_features |= NETIF_F_RXHASH;
> > > + if (port->phy_interface != PHY_INTERFACE_MODE_SGMII)
> > > + dev->hw_features |= NETIF_F_RXHASH;
> > > dev->features |= NETIF_F_NTUPLE;
> > > }
> > >
> > >
> > > David, is this "workaround" too bad to get accepted?
> >
> > Not sure that RSS related to physical interface(SGMII), better just remove
> NETIF_F_RXHASH as "workaround".
> >
> > Stefan.
>
> Hi,
>
> The point is that RXHASH works fine on all interfaces, but on the gigabit one
> (eth2 usually).
> And on the 10 gbit interface is very very effective, the throughput goes 4x when
> enabled, so it would be a big drawback to disable it on all interfaces.
>
> Honestly I don't have any 2.5 gbit hardware to test it on eth3, so I don't know if
> rxhash actually only works on the first interface of a unit (so eth0 and eth1), or
> if it just doesn't work on the gigabit one.
>
> If someone could test it on the 2.5 gbit port, this will be helpful.

RSS tables is part of Packet Processor IP, not MAC(so it's not related to specific speed). Probably issue exist on specific packet processor ports.
Since RSS work fine on first port of the CP, we can do the following:
if (port-> id == 0)
dev->hw_features |= NETIF_F_RXHASH;

Regards.