Re: [PATCH net-next 00/18] net: mvpp2: add RSS support

From: David Miller
Date: Thu Jul 12 2018 - 20:31:13 EST


From: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
Date: Thu, 12 Jul 2018 13:54:09 +0200

> This series adds support for RSS on PPv2. There already was some code to
> handle the RSS tables, but the driver was missing all the classification
> steps required to actually use these tables.
>
> RSS is used through the classifier, using at least 2 lookups :
> - One using the C2 engine, a TCAM engine that match the packet based on
> some header extracted fields, assigns the default rx queue for that
> packet and tag it for RSS
> - One using the C3Hx engine, which computes the hash that's used to perform
> the lookup in the RSS table.
>
> Since RSS spreads the load across CPUs, we need to make sure that packets
> from the same flow are always assigned the same rx queue, to prevent
> re-ordering.
>
> This series therefore adds a classification step based on the Header Parser,
> that separate ingress traffic into 52 flows, based on some L2, L3 and L4
> parameters.
>
> Patches 1 and 2 fix some header issues, from the driver splitting
>
> Patches 3 to 7 make sure the correct receive queue setup is used for RSS
>
> Patches 8 to 14 deal with the way we handle the RSS tables
>
> Patch 15 implement basic classifier configuration, by using it to assign the
> default receive queue
>
> Patch 16 implement the ingress traffic splitting into multiple flows
>
> Patch 17 adds RSS support, by using the needed classification steps
>
> Patch 18 adds the required ethtool ops to configure the flow hash parameters
>
> This was tested on MacchiatoBin, giving some nice performance improvements
> using ip forwarding (going from 5Gbps to 9.6Gbps total throughput).
>
> RSS is disabled by default.

Series applied, thank you.