Thanks to Andi, Dave, Jeff and everyone who responded to the original
query; I've got enough pointers to presentations, blogs and ideas to
keep me busy for a while :-)

VJ channels indeed seem to compliment and take to a different level some
sw and hw ideas on Dave's TODO list.

By now we have submitted UFO, MSI-X and LRO patches.  The one item on
the TODO list that we did not submit a full driver patch for is the
"support for distributing receive processing across multiple CPUs (using
NIC hw queues)", mainly because at present the feature can't be fully
used by the host anyways.

If some channel-oriented changes to the stack/NAPI do converge, it may
be worthwhile to extend the interface to the driver/hw channels as well.


To this end, we can submit a proposal and a reference implementation for
the driver interface that would support driver/hw channels (one per
cpu). Some of the channel capabilities will be as follows:

- configurable subset of tx/rx descriptors per channel
- separate msi-x interrupt(s) per channel 
- separate interrupt moderation scheme per channel, potentially driven
by NAPI.
- rx traffic classification; we will probably start from couple relevant
types like hash-based and direct socket match based.

If nothing else, this implementation will allow to collect some
performance data on hw channel acceleration and see what works and what
doesn't :-)

As a second stage, we can allow the driver channels to be used as a
separate eth interface (using multiple MAC addresses and MAC-based rx
classification), for virtualization frameworks. 

Stay tuned; any comments/suggestions are welcome....
Leonid
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to