From mboxrd@z Thu Jan 1 00:00:00 1970 From: Muli Ben-Yehuda Subject: Re: [PATCH 9/9] x86/iommu: use dma_ops_list in get_dma_ops Date: Tue, 30 Sep 2008 22:44:01 +0300 Message-ID: <20080930194401.GC20341@il.ibm.com> References: <20080928191333.GC26563@8bytes.org> <20080929093044.GB6931@il.ibm.com> <20080929093652.GQ27426@8bytes.org> <20080929221640X.fujita.tomonori@lab.ntt.co.jp> <20080929133311.GK27928@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: FUJITA Tomonori , joro@8bytes.org, amit.shah@redhat.com, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, iommu@lists.linux-foundation.org, dwmw2@infradead.org, mingo@redhat.com To: Joerg Roedel Return-path: Content-Disposition: inline In-Reply-To: <20080929133311.GK27928@amd.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On Mon, Sep 29, 2008 at 03:33:11PM +0200, Joerg Roedel wrote: > > Nobody cares about the performance of dma_alloc_coherent. Only the > > performance of map_single/map_sg matters. > > > > I'm not sure how expensive the hypercalls are, but they are more > > expensive than bounce buffering coping lots of data for every > > I/Os? > > I don't think that we can avoid bounce buffering into the guests at > all (with and without my idea of a paravirtualized IOMMU) when we > want to handle dma_masks and requests that cross guest physical > pages properly. It might be possible to have a per-device slow or fast path, where the fast path is for devices which have no DMA limitations (high-end devices generally don't) and the slow path is for devices which do. > With mapping/unmapping through hypercalls we add the world-switch > overhead to the copy-overhead. We can't avoid this when we have no > hardware support at all. But already with older IOMMUs like Calgary > and GART we can at least avoid the world-switch. And since, for > example, every 64 bit capable AMD processor has a GART we can make > use of it. It should be possible to reduce the number and overhead of hypercalls to the point where their cost is immaterial. I think that's fundamentally a better approach. Cheers, Muli -- The First Workshop on I/O Virtualization (WIOV '08) Dec 2008, San Diego, CA, http://www.usenix.org/wiov08/ xxx SYSTOR 2009---The Israeli Experimental Systems Conference http://www.haifa.il.ibm.com/conferences/systor2009/