Roman Chertov wrote:
> I have a question regarding multi-queue support.  I noticed that
> current NAPI code only deals with one queue; however, it appears that
> the 
> support for multiple rings is there.

Which driver are you referring to?  In general yes, we support multiple
RX queues with NAPI enabled on 2.6.24 and later kernels.  We also have
an upcoming driver release to make the drivers capable of multiple RX
queues on older kernels with NAPI enabled.  Currently you need to
disable NAPI to get multi-rx on <= 2.6.23 kernels.
 
> So if multiple receive and transmit rings were enabled how does the
> driver decide which ring to use or is it the task of whoever manages
> the driver?  For instance, does it imply that a polling thread must
> exist 
> per input ring?  If so, then how does the polling code know which
> packets belong to it?

each queue gets its own msi-x vector and each queue only gets packets
which match the RSS hash for that queue.  There are separate hardware
resources for each queue and the driver has a ring struct for each queue
to maintain separate state.
 
> In the transmit case.  Can then multiple threads write to their
> respective transmit rings and trigger a TX?  Then, I would assume the
> card would just run some scheduler and drain the rings according to
> some schedule.  Is this a correct assumption?

yes, the card by default runs a round robin scheduler for the tx queues,
and each queue works to transmit and complete its tx rings
independently.

Hope this helps,
Jesse

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel

Reply via email to