]> www.infradead.org Git - users/jedix/linux-maple.git/commit
xen/blkback: make pool of persistent grants and free pages per-queue
authorBob Liu <bob.liu@oracle.com>
Sat, 14 Nov 2015 03:12:19 +0000 (11:12 +0800)
committerDaniel Kiper <daniel.kiper@oracle.com>
Tue, 10 May 2016 20:26:55 +0000 (22:26 +0200)
commit1f7718576f0ed8ac734b716820751d0d062873b3
tree0ec34601dc0f24fb5b792bc6a420a1cddd5762b9
parent2ff1c8a4eb1229cf92d9359431f0c9204cb67010
xen/blkback: make pool of persistent grants and free pages per-queue

Make pool of persistent grants and free pages per-queue/ring instead of
per-device to get better scalability.

Test was done based on null_blk driver:
dom0: v4.2-rc8 16vcpus 10GB "modprobe null_blk"
domu: v4.2-rc8 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

Results:
iops1: After patch "xen/blkfront: make persistent grants per-queue".
iops2: After this patch.

Queues:   1     4       8     16
Iops orig(k): 810  1064  780  700
Iops1(k): 810     1230(~20%) 1024(~20%) 850(~20%)
Iops2(k): 810     1410(~35%) 1354(~75%)      1440(~100%)

With 4 queues after this commit we can get ~75% increase in IOPS, and
performance won't drop if increasing queue numbers.

Please find the respective chart in this link:
https://www.dropbox.com/s/agrcy2pbzbsvmwv/iops.png?dl=0

Signed-off-by: Bob Liu <bob.liu@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
(cherry picked from commit d4bf0065b7251afb723a29b2fd58f7c38f8ce297)
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
drivers/block/xen-blkback/blkback.c
drivers/block/xen-blkback/common.h
drivers/block/xen-blkback/xenbus.c