[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.