From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:44138) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTZYk-0007ww-1K for qemu-devel@nongnu.org; Mon, 06 Jun 2011 09:09:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QTZYb-00045L-9x for qemu-devel@nongnu.org; Mon, 06 Jun 2011 09:09:33 -0400 Received: from mx1.redhat.com ([209.132.183.28]:24837) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTZYa-00044t-OM for qemu-devel@nongnu.org; Mon, 06 Jun 2011 09:09:25 -0400 Message-ID: <4DECD17F.2040307@redhat.com> Date: Mon, 06 Jun 2011 15:09:19 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1304441374-27314-1-git-send-email-pbonzini@redhat.com> <4DCBF3F2.6060702@redhat.com> <4DE4B1F1.5030201@redhat.com> <4DECC7A6.7030506@redhat.com> <4DECCE94.1000904@codemonkey.ws> In-Reply-To: <4DECCE94.1000904@codemonkey.ws> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 0/4] introduce cpu_physical_memory_map_fast List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: qemu-devel@nongnu.org On 06/06/2011 02:56 PM, Anthony Liguori wrote: > > Oh, the patch series basically died for me when I saw: > > Avi> What performance benefit does this bring? > > Paolo> Zero :) > Especially given Avi's efforts to introduce a new RAM API, I don't want > yet another special case to handle. This is not a special case, the existing functions are all mapped onto the new cpu_physical_memory_map_internal. I don't think this is in any way related to Avi's RAM API which is (mostly) for MMIO. > You're just trying to avoid having to handle map failures, right? Not just that. If you had a memory block at say 1 GB - 2 GB, and another at 2 GB - 3 GB, a DMA operation that crosses the two could be implemented with cpu_physical_memory_map_fast; you would simply build a two-element iovec in two steps, something the current API does not allow. The patch does not change virtio to do the split, but it is possible to do that. The reason I'm not doing the virtio change, is that I know mst has pending changes to virtio and I'd rather avoid the conflicts for now. However, for vmw_pvscsi I'm going to handle it using the new functions. Paolo