From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L6us7-0000rm-TA for qemu-devel@nongnu.org; Sun, 30 Nov 2008 17:34:35 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L6us7-0000ra-Ij for qemu-devel@nongnu.org; Sun, 30 Nov 2008 17:34:35 -0500 Received: from [199.232.76.173] (port=57662 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L6us7-0000rX-A7 for qemu-devel@nongnu.org; Sun, 30 Nov 2008 17:34:35 -0500 Received: from an-out-0708.google.com ([209.85.132.248]:8036) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1L6us7-0003Pr-1X for qemu-devel@nongnu.org; Sun, 30 Nov 2008 17:34:35 -0500 Received: by an-out-0708.google.com with SMTP id c38so735238ana.37 for ; Sun, 30 Nov 2008 14:34:34 -0800 (PST) Message-ID: <493314F7.5090005@codemonkey.ws> Date: Sun, 30 Nov 2008 16:34:31 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [RFC 1/2] pci-dma-api-v1 References: <20081127123538.GC10348@random.random> <20081128015602.GA31011@random.random> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Andrea Arcangeli Blue Swirl wrote: > On 11/28/08, Andrea Arcangeli wrote: > >> On Thu, Nov 27, 2008 at 09:14:45PM +0200, Blue Swirl wrote: >> > The previous similar attempt by Anthony for generic DMA using vectored >> > IO was abandoned because the malloc/free overhead was more than the >> >> >> Even if there were dynamic allocations in the fast path, the overhead >> of malloc/free is nothing if compared to running and waiting a host >> kernel syscall to return every 4k, not to tell with O_DIRECT enabled >> which is the whole point of having a direct-dma API that truly doesn't >> pollute the cache. With O_DIRECT, without a real readv/writev I/O >> performance would be destroyed going down to something like 10M/sec >> even on the fastest storage/CPU/ram combinations. >> >> So the question is how those benchmarks were run, with or without a >> real readv/writev and with or without O_DIRECT to truly eliminate all >> CPU cache pollution out of the memory copies? >> > > I don't know, here's a pointer: > http://lists.gnu.org/archive/html/qemu-devel/2008-08/msg00092.html > Yes. A vector IO API is not terribly useful in QEMU without an AIO implementation that can make use of it. posix-aio cannot. Regards, Anthony Liguori