From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: [PATCH] x86/iommu: account for necessary allocations when calculating Dom0's initial allocation size Date: Tue, 14 Dec 2010 09:28:59 +0000 Message-ID: References: <4D07410B0200007800027C04@vpn.id2.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4D07410B0200007800027C04@vpn.id2.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Jan Beulich , "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org Thank Jan. I'm not really sure about putting your earlier patch into 4.0.2, so can I put only this patch in for 4.0.2, replacing max_pdx with max_page? -- Keir On 14/12/2010 09:03, "Jan Beulich" wrote: > As of c/s 21812:e382656e4dcc, IOMMU related allocations for Dom0 > happen only after it got all of its memory allocated, and hence the > reserve (mainly for setting up its swiotlb) may get exhausted without > accounting for the necessary allocations up front. > > While not precise, the estimate has been found to be within a couple > of pages for the systems it got tested on. > > For the calculation to be reasonably correct, this depends on the > patch titled "x86/iommu: don't map RAM holes above 4G" sent out > yesterday. > > Signed-off-by: Jan Beulich > > --- a/xen/arch/x86/domain_build.c > +++ b/xen/arch/x86/domain_build.c > @@ -191,6 +191,15 @@ static unsigned long __init compute_dom0 > if ( is_pv_32on64_domain(d) ) > avail -= opt_dom0_max_vcpus - 1; > > + /* Reserve memory for iommu_dom0_init() (rough estimate). */ > + if ( iommu_enabled ) > + { > + unsigned int s; > + > + for ( s = 9; s < BITS_PER_LONG; s += 9 ) > + avail -= max_pdx >> s; > + } > + > /* > * If domain 0 allocation isn't specified, reserve 1/16th of available > * memory for things like DMA buffers. This reservation is clamped to > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel