From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57841) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TsvTn-0001Qu-DI for qemu-devel@nongnu.org; Wed, 09 Jan 2013 08:14:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TsvTi-0006LM-3i for qemu-devel@nongnu.org; Wed, 09 Jan 2013 08:14:03 -0500 Received: from smtp.eu.citrix.com ([46.33.159.39]:42093) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TsvTh-0006LI-Tw for qemu-devel@nongnu.org; Wed, 09 Jan 2013 08:13:58 -0500 Message-ID: <50ED6D13.7010504@citrix.com> Date: Wed, 9 Jan 2013 14:13:55 +0100 From: =?UTF-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= MIME-Version: 1.0 References: <1357660203-79581-1-git-send-email-roger.pau@citrix.com> In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v2] xen_disk: add persistent grant support to xen_disk backend List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefano Stabellini Cc: Anthony Perard , "qemu-devel@nongnu.org" , "xen-devel@lists.xen.org" 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é >> Cc: xen-devel@lists.xen.org >> Cc: Stefano Stabellini >> Cc: Anthony PERARD >> --- >> 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.