Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1260336

[PATCH v4 00/10] xen-block: multi hardware-queues/rings support

From Bob Liu <bob.liu@oracle.com>
Newsgroups linux.kernel
Subject [PATCH v4 00/10] xen-block: multi hardware-queues/rings support
Date 2015-11-02 05:30 +0100
Message-ID <qqeUN-Ld-3@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


Note: These patches were based on original work of Arianna's internship for
GNOME's Outreach Program for Women.

After using blk-mq api, a guest has more than one(nr_vpus) software request
queues associated with each block front. These queues can be mapped over several
rings(hardware queues) to the backend, making it very easy for us to run
multiple threads on the backend for a single virtual disk.

By having different threads issuing requests at the same time, the performance
of guest can be improved significantly.

Test was done based on null_blk driver:
dom0: v4.3-rc7 16vcpus 10GB "modprobe null_blk"
domU: v4.3-rc7 16vcpus 10GB

[test]
rw=read
direct=1
ioengine=libaio
bs=4k
time_based
runtime=30
filename=/dev/xvdb
numjobs=16
iodepth=64
iodepth_batch=64
iodepth_batch_complete=64
group_reporting

	domU(orig)	4 queues 	8 queues 	16 queues
iops:        690k 	1024k(+30%) 	    800k 	750k

After patch 9 and 10:
	domU(orig)	4 queues 	8 queues 	16 queues
iops:        690k 	1600k(+100%) 	   1450k 	1320k

Chart: https://www.dropbox.com/s/agrcy2pbzbsvmwv/iops.png?dl=0

Also see huge improvements for write and real SSD storage.

---
v4:
 * Rebase to v4.3-rc7
 * Comments from Roger

v3:
 * Rebased to v4.2-rc8

Bob Liu (10):
  xen/blkif: document blkif multi-queue/ring extension
  xen/blkfront: separate per ring information out of device info
  xen/blkfront: pseudo support for multi hardware queues/rings
  xen/blkfront: split per device io_lock
  xen/blkfront: negotiate number of queues/rings to be used with backend
  xen/blkback: separate ring information out of struct xen_blkif
  xen/blkback: pseudo support for multi hardware queues/rings
  xen/blkback: get the number of hardware queues/rings from blkfront
  xen/blkfront: make persistent grants per-queue
  xen/blkback: make pool of persistent grants and free pages per-queue

 drivers/block/xen-blkback/blkback.c | 386 ++++++++++---------
 drivers/block/xen-blkback/common.h  |  78 ++--
 drivers/block/xen-blkback/xenbus.c  | 359 ++++++++++++------
 drivers/block/xen-blkfront.c        | 718 ++++++++++++++++++++++--------------
 include/xen/interface/io/blkif.h    |  48 +++
 5 files changed, 971 insertions(+), 618 deletions(-)

-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH v4 00/10] xen-block: multi hardware-queues/rings support Bob Liu <bob.liu@oracle.com> - 2015-11-02 05:30 +0100
  [PATCH v4 05/10] xen/blkfront: negotiate number of queues/rings to be used with backend Bob Liu <bob.liu@oracle.com> - 2015-11-02 05:30 +0100
    Re: [PATCH v4 05/10] xen/blkfront: negotiate number of queues/rings  to be used with backend Bob Liu <bob.liu@oracle.com> - 2015-11-04 02:20 +0100
      Re: [PATCH v4 05/10] xen/blkfront: negotiate number of queues/rings  to be used with backend Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> - 2015-11-04 03:00 +0100
  [PATCH v4 04/10] xen/blkfront: split per device io_lock Bob Liu <bob.liu@oracle.com> - 2015-11-02 05:30 +0100
    Re: [PATCH v4 04/10] xen/blkfront: split per device io_lock Bob Liu <bob.liu@oracle.com> - 2015-11-04 02:10 +0100
      Re: [PATCH v4 04/10] xen/blkfront: split per device io_lock Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> - 2015-11-04 03:00 +0100
  [PATCH v4 07/10] xen/blkback: pseudo support for multi hardware queues/rings Bob Liu <bob.liu@oracle.com> - 2015-11-02 05:30 +0100
    Re: [PATCH v4 07/10] xen/blkback: pseudo support for multi hardware  queues/rings Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> - 2015-11-05 03:40 +0100
      Re: [PATCH v4 07/10] xen/blkback: pseudo support for multi hardware  queues/rings Bob Liu <bob.liu@oracle.com> - 2015-11-05 04:10 +0100
        Re: [PATCH v4 07/10] xen/blkback: pseudo support for multi hardware queues/rings Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> - 2015-11-05 04:30 +0100
  [PATCH v4 09/10] xen/blkfront: make persistent grants per-queue Bob Liu <bob.liu@oracle.com> - 2015-11-02 05:30 +0100
    Re: [PATCH v4 09/10] xen/blkfront: make persistent grants per-queue Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> - 2015-11-05 03:40 +0100
  [PATCH v4 06/10] xen/blkback: separate ring information out of struct xen_blkif Bob Liu <bob.liu@oracle.com> - 2015-11-02 05:30 +0100
  [PATCH v4 02/10] xen/blkfront: separate per ring information out of device info Bob Liu <bob.liu@oracle.com> - 2015-11-02 05:30 +0100
  [PATCH v4 08/10] xen/blkback: get the number of hardware queues/rings from blkfront Bob Liu <bob.liu@oracle.com> - 2015-11-02 05:30 +0100
    Re: [PATCH v4 08/10] xen/blkback: get the number of hardware  queues/rings from blkfront Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> - 2015-11-05 03:40 +0100
  [PATCH v4 01/10] xen/blkif: document blkif multi-queue/ring extension Bob Liu <bob.liu@oracle.com> - 2015-11-02 05:30 +0100
  Re: [Xen-devel] [PATCH v4 00/10] xen-block: multi hardware-queues/rings  support Julien Grall <julien.grall@citrix.com> - 2015-11-02 12:30 +0100

csiph-web