Re: Improving OCTEON II 10G Ethernet performance
From: David Daney <hidden>
Date: 2016-08-25 20:11:45
Also in:
linux-mips
From: David Daney <hidden>
Date: 2016-08-25 20:11:45
Also in:
linux-mips
On 08/25/2016 11:22 AM, Aaro Koskinen wrote:
Hi, On Thu, Aug 25, 2016 at 09:50:15AM -0700, David Daney wrote:quoted
Ideally we would configure the packet classifiers on the RX side to create multiple RX queues based on a hash of the TCP 5-tuple, and handle each queue with a single NAPI instance. That should result in better performance while maintaining packet ordering.Would this need anything else than reprogramming CVMX_PIP_PRT_TAGX, and eliminating the global pow_receive_group and creating multiple NAPI instances and registering IRQ handlers?
That is essentially how it works. Set the tag generation parameters, and use the low order bits of the tag to select which POW/SSO group is assigned. The SSO group corresponds to an "rx queue"
In the Yocto tree, the CVMX_PIP_PRT_TAGX register values are actually documented: http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-contrib/tree/arch/mips/include/asm/octeon/cvmx-pip-defs.h?h=apaliwal/octeon#n3737
Wow, I didn't realize that documentation was made public.
A.