Some of the patches in the previous series, that were bugfixes or code cleanups, are already committed, so the series is a little bit smaller. Previous performance graph was wrong because I had a bunch of debugging options enabled when performing the tests. The following graph contains a more accurate comparison: http://xenbits.xen.org/people/royger/plot_indirect_read4k.png Also, the default number of segments per indirect request has been set to 32 in order to map them all persistently, but this can be changed at runtime by the user. Roger Pau Monne (7): xen-blkback: print stats about persistent grants xen-blkback: use balloon pages for all mappings xen-blkback: implement LRU mechanism for persistent grants xen-blkback: move pending handles list from blkbk to pending_req xen-blkback: make the queue of free requests per backend xen-blkback: expand map/unmap functions xen-block: implement indirect descriptors Documentation/ABI/stable/sysfs-bus-xen-backend | 15 + drivers/block/xen-blkback/blkback.c | 833 +++++++++++++++--------- drivers/block/xen-blkback/common.h | 120 ++++- drivers/block/xen-blkback/xenbus.c | 32 + drivers/block/xen-blkfront.c | 490 ++++++++++++--- include/xen/interface/io/blkif.h | 26 + 6 files changed, 1122 insertions(+), 394 deletions(-) git://xenbits.xen.org/people/royger/linux.git xen-block-indirect-v1