On 14/02/2019 18:57, Christoph Hellwig wrote: > On Thu, Feb 14, 2019 at 07:03:38AM +0100, Juergen Gross wrote: >>> The thing which is different between Xen PV guests and most others (all >>> others(?), now that Lguest and UML have been dropped) is that what Linux >>> thinks of as PFN $N isn't necessarily adjacent to PFN $N+1 in system >>> physical address space. >>> >>> Therefore, code which has a buffer spanning a page boundary can't just >>> convert a pointer to the buffer into a physical address, and hand that >>> address to a device. You generally end up with either memory corruption >>> (DMA hitting the wrong page allocated to the guest), or an IOMMU fault >>> (DMA hitting a pages which isn't allocated to the guest). > > The Linux DMA API allows for dma_map_page / dma_map_single calls to > spawn 4k boundaries. If Xen doesn't support that it will have to bounce > buffer for that case (and get horrible performance). > > But the latter text seems to agree with that. So what is the actual > problem that started this discussion? >
See https://lists.xen.org/archives/html/xen-devel/2019-02/threads.html#00818 Juergen _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel