From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44004) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TLXBK-0004vQ-4P for qemu-devel@nongnu.org; Tue, 09 Oct 2012 06:36:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TLXBE-0006ZZ-7Z for qemu-devel@nongnu.org; Tue, 09 Oct 2012 06:36:57 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41691) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TLXBD-0006ZP-Up for qemu-devel@nongnu.org; Tue, 09 Oct 2012 06:36:52 -0400 Message-ID: <5073FE3A.1090903@redhat.com> Date: Tue, 09 Oct 2012 12:36:42 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1348577763-12920-1-git-send-email-pbonzini@redhat.com> <20121008113932.GB16332@stefanha-thinkpad.redhat.com> <5072CE54.8020208@redhat.com> <20121009090811.GB13775@stefanha-thinkpad.redhat.com> <5073EDB3.3020804@redhat.com> In-Reply-To: <5073EDB3.3020804@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] Block I/O outside the QEMU global mutex was "Re: [RFC PATCH 00/17] Support for multiple "AIO contexts"" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: Kevin Wolf , Stefan Hajnoczi , Anthony Liguori , Ping Fan Liu , qemu-devel@nongnu.org Il 09/10/2012 11:26, Avi Kivity ha scritto: > On 10/09/2012 11:08 AM, Stefan Hajnoczi wrote: >> Here are the steps that have been mentioned: >> >> 1. aio fastpath - for raw-posix and other aio block drivers, can we reduce I/O >> request latency by skipping block layer coroutines? > > Is coroutine overhead noticable? I'm thinking more about throughput than latency. If the iothread becomes CPU-bound, then everything is noticeable. >> I'm also curious about virtqueue_pop()/virtqueue_push() outside the QEMU mutex >> although that might be blocked by the current work around MMIO/PIO dispatch >> outside the global mutex. > > It is, yes. It should only require unlocked memory map/unmap, not MMIO dispatch. The MMIO/PIO bits are taken care of by ioeventfd. Paolo