[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2] xen_disk: add persistent grant support to xe
From: |
Stefano Stabellini |
Subject: |
Re: [Qemu-devel] [PATCH v2] xen_disk: add persistent grant support to xen_disk backend |
Date: |
Wed, 9 Jan 2013 12:48:13 +0000 |
User-agent: |
Alpine 2.02 (DEB 1266 2009-07-14) |
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é <address@hidden>
> Cc: address@hidden
> Cc: Stefano Stabellini <address@hidden>
> Cc: Anthony PERARD <address@hidden>
> ---
> 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] ?