[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?



On Mon, Apr 23, 2012 at 12:53:03PM +0100, Stefano Stabellini wrote:
> On Mon, 23 Apr 2012, Tobias Geiger wrote:
> > Hello!
> > 
> > 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 
> > (gplpv_Vista2008x64_0.11.0.357.msi); 
> > 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
> regression:
> 
> $ 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 
b/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)
                        continue;
-               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);
                invcount++;
        }
 
>       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
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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