[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH RFC 0/4] Multi-queue support for xen-blkfront and xen-blkback


this patchset adds to the Xen PV block driver support to exploit the multi-
queue block layer API by sharing and using multiple I/O rings in the frontend
and backend. It is the result of my internship for GNOME's Outreach Program
for Women ([1]), in which I was mentored by Konrad Rzeszutek Wilk.

The patchset implements in the backend driver the retrieval of information
about the currently-in-use block layer API for a certain device and about
the number of available submission queues, if the API turns out to be the
multi-queue one. The information is then advertised to the frontend driver
via XenStore. The frontend device can exploit such an information to allocate
and grant multiple I/O rings that the backend will be able to map.
The patchset has been tested with fio's IOmeter emulation on a four-cores
machine with a null_blk device (some results are available here: [2]).

This patch series is just an RFC prototype. Any comments or suggestions are
more than welcome.
Thank you,

[1] http://goo.gl/bcvHMh
[2] http://goo.gl/O8RlLL

Arianna Avanzini (4):
  xen, blkfront: add support for the multi-queue block layer API
  xen, blkfront: factor out flush-related checks from do_blkif_request()
  xen, blkfront: introduce support for multiple hw queues
  xen, blkback: add support for multiple block rings

 drivers/block/xen-blkback/blkback.c | 376 ++++++++-------
 drivers/block/xen-blkback/common.h  | 111 +++--
 drivers/block/xen-blkback/xenbus.c  | 475 ++++++++++++-------
 drivers/block/xen-blkfront.c        | 886 +++++++++++++++++++++++-------------
 4 files changed, 1151 insertions(+), 697 deletions(-)


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.