From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: Assigning contiguous memory to a driver domain Date: Mon, 20 Sep 2010 17:45:49 -0700 Message-ID: <4C98003D.8050609@goop.org> References: <4C90C3200200007800016442@vpn.id2.novell.com> <4C90A8E4.9090004@invisiblethingslab.com> <4C90CF39020000780001647E@vpn.id2.novell.com> <87pqwfgqvt.fsf@frosties.localdomain> <20100915120626.GA2024@email> <4C90EB1102000078000164C6@vpn.id2.novell.com> <20100915144413.GB2098@email> <4C91027802000078000165E8@vpn.id2.novell.com> <20100920194836.GA25803@dumpdata.com> <4C97C3AC.90207@goop.org> <20100920214126.GH26201@dumpdata.com 4C97D848.20608@goop.org> <5bdf8acc-99ad-47a9-abe4-467b9a3fd9ca@default> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <5bdf8acc-99ad-47a9-abe4-467b9a3fd9ca@default> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Dan Magenheimer Cc: Rafal Wojtczuk , xen-devel@lists.xensource.com, Joanna Rutkowska , Jan Beulich , Konrad Wilk List-Id: xen-devel@lists.xenproject.org On 09/20/2010 04:42 PM, Dan Magenheimer wrote: >> On 09/20/2010 02:41 PM, Konrad Rzeszutek Wilk wrote: >>> On Mon, Sep 20, 2010 at 01:27:24PM -0700, Jeremy Fitzhardinge wrote: >>>> On 09/20/2010 12:48 PM, Konrad Rzeszutek Wilk wrote: >>>>> Let me expand this. During bootup Xen-SWIOTLB (which for DomU you >> have >>>>> to enable via the 'iommu=soft'), allocated 32 2MB chunks of >> contingous >>>>> memory under the 4GB limit. Those chunks stay in DomU and are used >>>>> during the the runtime of the DomU. They don't go back to Xen >> unless the >>>>> domain has been terminated. Any of the DMA operations that any >> driver >>>>> does go through the SWIOTLB bufer if the physical (mfn) for the DMA >> is >>>>> outside the driver capabilities (say, your ping buffer is allocated >> above >>>>> the 4GB, and your r8169 can only do 32-bit, then SWIOTLB would be >> utilized >>>>> to "bounce" the memory). >>>> BTW, are there any hooks to make sure these pages are still >> contiguous >>>> after migration/restore? >>> I don't really know. We do save the P2M map, so those >> mappings >>> are saved in the guest. But for the MFNs that have been exchanged - I >> don't >>> believe the hypervior is notified about which MFNs have been >> transfered >>> to another domain? Or these MFNs extracted during save/resume >> On save the toolstack will rewrite all the mfns in the pagetables and >> the p2m map to canonical pfn form, then rewrite them back to mfns on >> resume when it has allocated pages for them all. I don't believe >> there's any mechanism to remember what regions were mfn-contiguous and >> restore that on resume. > I may be too far behind on this thread, but aren't we only talking about > driver domains with passthrough? Is it even possible to migrate > driver domains yet? Not with devices attached. But there should be no problem in principle with detaching all the devices, migrating, the reattaching everything. J