[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Degregated I/O Performance since 3.4 - Regression in 3.4?

Am 23.04.2012 17:24, schrieb Konrad Rzeszutek Wilk:
On Mon, Apr 23, 2012 at 12:53:03PM +0100, Stefano Stabellini wrote:
On Mon, 23 Apr 2012, Tobias Geiger wrote:

i noticed a considerable drop in I/O Performance when using 3.4 (rc3 and rc4
tested) as Dom0 Kernel;

With 3.3 i get over 100mb/s in a HVM DomU (win64) with PV Drivers
With 3.4 it drops to about a third of that.

Xen Version is xen-unstable:
xen_changeset          : Tue Apr 17 19:13:52 2012 +0100 25209:e6b20ec1824c

Disk config line is:
disk = [ '/dev/vg_ssd/win7system,,hda' ]
- it uses blkback.
I fail to see what could be the cause of the issue: nothing on the
blkback side should affect performances significantly.
You could try reverting the four patches to blkback that were applied
between 3.3 and 3.4-rc3 just to make sure it is not a blkback

$ git shortlog v3.3..v3.4-rc3 drivers/block/xen-blkback
Daniel De Graaf (2):
       xen/blkback: use grant-table.c hypercall wrappers
Hm.. Perhaps this patch fixes it a possible perf (I would think that
the compiler would have kept the result of the first call to vaddr(req, i)
somewhere.. but not sure) lost with the mentioned patch:

diff --git a/drivers/block/xen-blkback/blkback.c 
index 73f196c..65dbadc 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -327,13 +327,15 @@ static void xen_blkbk_unmap(struct pending_req *req)
        int ret;

        for (i = 0; i<  req->nr_pages; i++) {
+               unsigned long addr;
                handle = pending_handle(req, i);
                if (handle == BLKBACK_INVALID_HANDLE)
-               gnttab_set_unmap_op(&unmap[invcount], vaddr(req, i),
+               addr = vaddr(req, i);
+               gnttab_set_unmap_op(&unmap[invcount], addr,
                                    GNTMAP_host_map, handle);
                pending_handle(req, i) = BLKBACK_INVALID_HANDLE;
-               pages[invcount] = virt_to_page(vaddr(req, i));
+               pages[invcount] = virt_to_page(addr);

       xen/blkback: Enable blkback on HVM guests

Konrad Rzeszutek Wilk (2):
       xen/blkback: Squash the discard support for 'file' and 'phy' type.
       xen/blkback: Make optional features be really optional.

Xen-devel mailing list
that made it even worse :)
Write Performance is down to about 7mb/s (with 3.3: ~130mb/s)
Read "only" down to 40mb/s (with 3.3: ~140mb/s)


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.