[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] question on iommu _map_page
On 02/07/2010 08:13, "Keir Fraser" <keir.fraser@xxxxxxxxxxxxx> wrote: >> I finally found some time to test your patch. While it seems to fix the >> problem, it *significantly* degrades performance. >> On running netperf, there is a 10X reduction in throughput to a guest VM. On >> profiling, I find a significant number of cycles >> being spent in mapcount(). In the current solution, the entire grant table is >> searched every time (right ?). The mapping info >> ought to be stored in some per-page location... for efficient access. > > It needs to be a per-mapping-domain location. Like the VT-d pte itself. > Patches welcome. Scrub that. It would be better to allocate a chunk of otherwised unused machine address space (e.g., 1GB starting at max(4GB, top_of_ram)), and allocate each grant entry that needs an iommu mapping a page in that range, map at that address and return that address as dev_bus_addr from the grant-map hypercall. Then we would have no IOMMU pte sharing between grants, and no need for any extra reference counting. Also it would be easy to batch iommu flushes in this scenario, if you don't care about finished-with grant mappings being flushed a bit lazily. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |