[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] question on iommu _map_page



On Jun 11, 2010, at 3:32 AM, Keir Fraser wrote:

> On 10/06/2010 22:59, "Kaushik Kumar Ram" <kaushik@xxxxxxxx> wrote:
>> 
>> Checking if act->pin is zero before calling iommu_unmap_page() (in
>> grant_table.c) is not sufficient since there can be multiple
>> active grants all referring to the same mfn. In fact I came across iommu page
>> faults because pages were
>> getting unmapped from the IOMMU when active grants referring to these pages
>> were still around.
>> Ideally, there needs to be a per-page count of how many IOMMU mappings exists
>> for a page. 
>> I can't think of an obvious fix for this problem. For my purposes, I hacked
>> page_info to add another counter which I guess is not an acceptable solution!
> 
> See if xen-unstable:21597 works for you.

Keir,

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.

-Kaushik
_______________________________________________
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®.