From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: Degregated I/O Performance since 3.4 - Regression in 3.4? Date: Mon, 23 Apr 2012 11:24:04 -0400 Message-ID: <20120423152404.GD24481@phenom.dumpdata.com> References: <201204231202.27731.tobias.geiger@vido.info> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Stefano Stabellini Cc: Tobias Geiger , "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org 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@lists.xen.org > http://lists.xen.org/xen-devel