• Bob Liu's avatar
    xen/blkback: make pool of persistent grants and free pages per-queue · d4bf0065
    Bob Liu authored
    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=0Signed-off-by: default avatarBob Liu <bob.liu@oracle.com>
    Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    d4bf0065
xenbus.c 27 KB