From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53677) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y0wrc-0002xc-KO for qemu-devel@nongnu.org; Tue, 16 Dec 2014 13:28:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y0wrW-0007VO-Ek for qemu-devel@nongnu.org; Tue, 16 Dec 2014 13:28:52 -0500 Received: from mx1.redhat.com ([209.132.183.28]:49050) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y0wrW-0007V3-7o for qemu-devel@nongnu.org; Tue, 16 Dec 2014 13:28:46 -0500 Message-ID: <549079CC.4010109@redhat.com> Date: Tue, 16 Dec 2014 19:28:28 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1418305950-30924-1-git-send-email-pbonzini@redhat.com> <1418305950-30924-2-git-send-email-pbonzini@redhat.com> <20141216110727.GA27195@noname.str.redhat.com> <54901764.6050307@redhat.com> <20141216131034.GA3301@noname.str.redhat.com> In-Reply-To: <20141216131034.GA3301@noname.str.redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v2 1/5] linux-aio: queue requests that cannot be submitted List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: ming.lei@canonical.com, pl@kamp.de, qemu-devel@nongnu.org, stefanha@redhat.com On 16/12/2014 14:10, Kevin Wolf wrote: > Am 16.12.2014 um 12:28 hat Paolo Bonzini geschrieben: >> >> >> On 16/12/2014 12:07, Kevin Wolf wrote: >>> Am 11.12.2014 um 14:52 hat Paolo Bonzini geschrieben: >>>> Keep a queue of requests that were not submitted; pass them to >>>> the kernel when a completion is reported, unless the queue is >>>> plugged. >>>> >>>> The array of iocbs is rebuilt every time from scratch. This >>>> avoids keeping the iocbs array and list synchronized. >>>> >>>> Signed-off-by: Paolo Bonzini >>> >>> Just found out that in qemu-img bench, this patch seems to cost about >>> 5-8% for me. >> >> What execution? Queue depth=1? > > My usual one: > > $ ./qemu-img bench -t none -c 10000000 -n /dev/loop0 > Sending 10000000 requests, 4096 bytes each, 64 in parallel I could reproduce this very well on a random OS image that I had around. This is raw over XFS over dm-crypt, and the image is about 75% sparse (8.2G used over 35G). I only get 1-2%, but still it's visible. However I can hardly reproduce it when using a partition directly: old new mean 9.9565 9.9636 (+0.07%) stddev 0.0405 0.0537 min 9.871 9.867 median 9.973 9.971 max 10.01 10.053 count 20 20 I haven't tried removing layers (e.g. fully-allocated XFS image without dm-crypt). Paolo