[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH 0/9] Implement VBD multi-queue
This series adds support for VBD multi-queue as defined by the updated blkif.h Multi-queue will split the incomming SRB requests into seperate shared rings, attempting to keep processing on a single vCPU. Ths backend should use this per-processor shared ring to direct requests into the multi-queue block layer (blk-mq) to improve scalability. Part of the changes involves reducing the usage of spinlocks on the hot-path. The implementation changes to the ring's processing algorithm has shown some improvements, but this does not scale with number of queues (i.e. using this patch series with a single queue shows an improvment, but adding more queues does not show any differences outside of sampling noise). Owen Smith (9): Update blkif.h to upstream Query "multi-queue-max-queues" Remove RingTrigger Dont close ring during FrontendReset Force single queue in crash/hibernate path Implement multi-queues Remove queue.h/.c Move query of "multi-queue-max-queues" to driver.c Set StorPortInitializePerfOpts include/xen/io/blkif.h | 1100 ++++++++------- src/xencrsh/frontend.c | 2 + src/xenvbd/adapter.c | 56 + src/xenvbd/driver.c | 25 +- src/xenvbd/driver.h | 6 + src/xenvbd/frontend.c | 261 ++-- src/xenvbd/frontend.h | 2 + src/xenvbd/queue.c | 139 -- src/xenvbd/queue.h | 86 -- src/xenvbd/ring.c | 3106 +++++++++++++++++++++++++----------------- src/xenvbd/ring.h | 5 - src/xenvbd/target.c | 1 - vs2015/xenvbd/xenvbd.vcxproj | 1 - vs2017/xenvbd/xenvbd.vcxproj | 1 - 14 files changed, 2686 insertions(+), 2105 deletions(-) delete mode 100644 src/xenvbd/queue.c delete mode 100644 src/xenvbd/queue.h -- 2.16.2.windows.1 _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |