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

Re: [Xen-devel] [PATCH] x86/iommu: account for necessary allocations when calculating Dom0's initial allocation size


  • To: Jan Beulich <JBeulich@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Keir Fraser <keir@xxxxxxx>
  • Date: Tue, 14 Dec 2010 09:28:59 +0000
  • Cc:
  • Delivery-date: Tue, 14 Dec 2010 01:30:11 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:user-agent:date:subject:from:to:message-id:thread-topic :thread-index:in-reply-to:mime-version:content-type :content-transfer-encoding; b=tv8nbLJ6DE8eCAIYGG5owwV+pBNcAKnOsX47Qf4+lvYYvWJgRKATbdcqden1wjIBuZ CaU/kYE0yiNzh/gejvA1An9oruWShWekqAvwgkS++2yNZEdFHM11nrTBg1ql4Zz9ICeo cfri7LgLUwmQqLVvkZrtkNQ02efg52oAKmlTM=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcubcVYzGT5Bh4nk1E6GG3/xiRHLvg==
  • Thread-topic: [Xen-devel] [PATCH] x86/iommu: account for necessary allocations when calculating Dom0's initial allocation size

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" <JBeulich@xxxxxxxxxx> 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 <jbeulich@xxxxxxxxxx>
> 
> --- 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@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel



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