Steffen Weiberle wrote:
Rajagopal Kunhappan wrote On 10/17/06 13:13,:
If the NIC is gldv3-based, you can enable soft rings. Set ip_squeue_fanout to 1, unplumb and plumb the interface back up again. That would configure soft rings. By default, 2 soft rings are used. Soft rings would spread the incoming load to 2 CPUs if 2 rings are
configured.

Is this only for interrupts, or does this apply to the stack as well. I understood there would be an squeue per CPU, and connections are 'bound' to an squeue. So stack processing would be distributed even if non-GLDv3 NICs are used?
Soft rings help performance on the receive side. Incoming packets coming from interrupt context gets placed on a soft ring depending upon src and dest port nos. A worker thread bound to a CPU will take the packets from the soft ring and do the processing by going though ip. The key here is the worker thread model. Without this, the packet processing will be done by the CPU that took the interrupt all the way through ip, tcp, etc, unless if interrupt thread cannot enter squeue in which case the packet will be queued in the squeue and the interrupt returns. The squeue worker thread will do the processing
of the packet in that instance.

Maybe I am going off a tangent, if I am not clear, let me know.

-krgopi
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to