[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [win-pv-devel] [PATCH 0/7] Add multi-ring support
> -----Original Message----- > From: win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx [mailto:win-pv-devel- > bounces@xxxxxxxxxxxxxxxxxxxx] On Behalf Of Owen Smith > Sent: 18 December 2014 14:28 > To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Owen Smith > Subject: [win-pv-devel] [PATCH 0/7] Add multi-ring support > > Adds support for multiple rings, with traffic split based on > a supplied hash value. > Backend exposes "multi-queue-max-queues" to indicate the maximum > number > of queues supported (default 1, i.e. single-queue). > Frontend will write "multi-queue-num-queues" to request multi-queues, > this value must be less than or equal to the smaller of what the backend > supports and the number of vCPUs exposed to the guest. The guest may > limit > this value with the registry setting "MultiQueueMaxQueues" under the > XenVif > service parameters key. > > Patches: > 1: Dont pass through query interface IRPs, as each interface exposed > needs to be explicitly declared and accounted for in the revision. > 2&3: Switch to an array-of-pointers instead of a LIST_ENTRY for rings. > Rings are limited to 1 per vCPU for performance so the maximum > array size is known (MAXIMUM_PROCESSORS) > 4: Remove the notifier object, its an abstraction too far. Make receiver > own the shared event channel (if used) or the receiver/transmitter own > their own event channels > 5: Update the interface header for VIF v2. Also updates the transmitter > code to use the (now-downlevel) VIF v1 structures. > 6: Add the new functionality from VIF v2. Adds translation layer for VIF v1 > so that all internal operations are using VIF v2 structures. > 7: Add multi-queue functionality and distribute packets to queues based on > supplied hash values. > > Owen Smith (7): > Make interface exposure explicit > Move to transmitter ring pointer array > Move to receiver ring pointer array > Remove notifier object > Update to VIF Interface v2 > Implement VIF Interface v2 > Implement multiple queues > > include/vif_interface.h | 94 +++- > src/xenvif/driver.c | 42 ++ > src/xenvif/driver.h | 5 + > src/xenvif/frontend.c | 185 +++++-- > src/xenvif/frontend.h | 18 +- > src/xenvif/notifier.c | 684 ----------------------- > src/xenvif/notifier.h | 99 ---- > src/xenvif/pdo.c | 24 +- > src/xenvif/receiver.c | 595 +++++++++++++++----- > src/xenvif/receiver.h | 18 +- > src/xenvif/transmitter.c | 1238 +++++++++++++++++++++++++++++++--- > -------- > src/xenvif/transmitter.h | 26 +- > src/xenvif/vif.c | 146 ++++- > src/xenvif/vif.h | 17 +- > vs2012/xenvif/xenvif.vcxproj | 1 - > vs2013/xenvif/xenvif.vcxproj | 1 - > 16 files changed, 1857 insertions(+), 1336 deletions(-) > delete mode 100644 src/xenvif/notifier.c > delete mode 100644 src/xenvif/notifier.h > Series applied (with some modifications). Thanks! Paul > -- > 1.9.4.msysgit.1 > > > _______________________________________________ > win-pv-devel mailing list > win-pv-devel@xxxxxxxxxxxxxxxxxxxx > http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |