On 09/01/13 13:48, Stefano Stabellini wrote: > On Tue, 8 Jan 2013, Roger Pau Monne wrote: >> This protocol extension reuses the same set of grant pages for all >> transactions between the front/back drivers, avoiding expensive tlb >> flushes, grant table lock contention and switches between userspace >> and kernel space. The full description of the protocol can be found in >> the public blkif.h header. >> >> http://xenbits.xen.org/gitweb/?p=xen.git;a=blob_plain;f=xen/include/public/io/blkif.h >> >> Speed improvement with 15 guests performing I/O is ~450%. >> >> Signed-off-by: Roger Pau Monné <roger....@citrix.com> >> Cc: xen-de...@lists.xen.org >> Cc: Stefano Stabellini <stefano.stabell...@eu.citrix.com> >> Cc: Anthony PERARD <anthony.per...@citrix.com> >> --- >> Performance comparison with the previous implementation can be seen in >> the followign graph: >> >> http://xenbits.xen.org/people/royger/persistent_read_qemu.png >> --- >> Changes since v1: >> * Fix coding style issues. >> * Add more comments regarding how ioreq_map works. > > The patch looks good now, I only have a very small stylistic comment. > > >> + for (i = 0; i < ioreq->v.niov; i++) { >> + ioreq->v.iov[i].iov_base = page[i] + >> + (uintptr_t)ioreq->v.iov[i].iov_base; > > ioreq->v.iov[i].iov_base += (uintptr_t)page[i] ?
True. Would you like to fix that yourself before committing, or do you want me to resend? Thanks for the review.