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]