[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Patch RFC 00/13] VT-d Asynchronous Device-TLB Flush for ATS Device
Hi, At 14:09 +0000 on 21 Sep (1442844587), Xu, Quan wrote: > George / Tim, > Could you help me review these memory patches? Thanks! The interrupt-mapping and chipset control parts of this are outside my understanding. :) And I'm not an x86/mm maintainer any more, but I'll have a look: 7/13: I'm not convinced that making the vcpu spin calling sched_yield() is a very good plan. Better to explicitly pause the domain if you need its vcpus not to run. But first -- why does IOMMU flushing mean that vcpus can't be run? 8/13: This doesn't seem like it's enough make this safe. :( Yes, you can't allocate a page to another VM while there are IOTLB entries pointing to it, but you also can't use it for other things inside the same domain! It might be enough, if you can argue that e.g. the IOMMU tables only ever have mappings of pages owned by the domain, and that any other feature that might rely on the daomin's memory being made read-only (e.g. sharing) is explicily disallowed, but I'd want to see those things mechanically enforced. I think the safest answer is to make the IOMMU table take typed refcounts to anything it points to, and only drop those refcounts when the flush completes, but I can imaging that becoming complex. You may also need to consider grant-mapped memory - you need to make sure the grant isn't released until after the flush completes. 12/13: Ah, I see you are looking at grant table stuff, at least for the transfer path. :) Still the mapping path needs to be looked at. Cheers, Tim. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |