[PATCH net-next 0/3] mvneta: Introduce RSS support
mw at semihalf.com
Thu Nov 26 11:04:43 PST 2015
You can add:
Tested-by: Marcin Wojtas <mw at semihalf.com>
I checked different queues, the traffic passed through, and the irqs
came to proper CPU's. FYI, in my setup with A388-GP as a bridge, after
attaching two ports to different CPU's there was an increase of
~50kpps (almost 9%) for 64B packets.
2015-11-25 15:54 GMT+01:00 Gregory CLEMENT <gregory.clement at free-electrons.com>:
> this series is the first step add RSS support on mvneta.
> It will allow associating an ethernet interface to a given CPU through
> RSS by using "ethtool -X ethX weight". Indeed, currently I only enable
> one entry in the RSS lookup table. Even if it is not really RSS, it
> allows to get back the irq affinity feature we lost by using the
> percpu interrupt.
> Compared to the RFC series I added a missing patch for the series, I
> rebased onto v4.4-rc1 and I fixed the mvneta_config_rss. Marcin
> pointed that making the interrupt should be done on all the CPUs.
> Th first patch make the default queue associate to each port and no
> more a global variable.
> The second patch really associates the RX queues with the CPUs instead
> of masking the percpu interrupts for doing it. All the RX queues are
> enabled and are statically associated with the CPUs by using a modulo
> of the number of present CPUs. But at this stage only one RX queue
> will receive the stream.
> I also choose to associate all the TX queues on the same CPU that the
> one associated to the RX queue. It allows to contain all the
> interrupts on the same CPU. I think that an improvement on this side
> would be the support of the XPS.
> The last patch introduces a first level of RSS support through the
> ethtool functions. As explained in the introduction there is only one
> entry in the RSS lookup table which permits at the end to associate an
> mvneta port to a CPU through the RX queues because the mapping is
> Gregory CLEMENT (3):
> net: mvneta: Make the default queue related for each port
> net: mvneta: Associate RX queues with each CPU
> net: mvneta: Add naive RSS support
> drivers/net/ethernet/marvell/mvneta.c | 298 +++++++++++++++++++++++++++++-----
> 1 file changed, 253 insertions(+), 45 deletions(-)
More information about the linux-arm-kernel