From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: Assigning contiguous memory to a driver domain Date: Mon, 20 Sep 2010 17:41:26 -0400 Message-ID: <20100920214126.GH26201@dumpdata.com> 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> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <4C97C3AC.90207@goop.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Jeremy Fitzhardinge Cc: Dan Magenheimer , xen-devel@lists.xensource.com, Joanna Rutkowska , Jan Beulich , Rafal Wojtczuk List-Id: xen-devel@lists.xenproject.org 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?