WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [Question] Why code differs in construct_dom0?

To: "Shan, Haitao" <haitao.shan@xxxxxxxxx>
Subject: [Xen-devel] Re: [Question] Why code differs in construct_dom0?
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Thu, 20 Nov 2008 09:50:37 +0000
Cc: "'xen-devel@xxxxxxxxxxxxxxxxxxx'" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Thu, 20 Nov 2008 01:50:59 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <61563CE63B4F854986A895DA7AD3C17701F7E61F@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AclK7215rpYCsocDQfKwAUF7KsGCIAAAXKusAABBHNAAAOL0DA==
Thread-topic: [Question] Why code differs in construct_dom0?
User-agent: Microsoft-Entourage/11.4.0.080122
On 20/11/08 09:41, "Shan, Haitao" <haitao.shan@xxxxxxxxx> wrote:

> So you mean in the release build we make the mapping discontiguous to detect
> possible bugs, while in debug build it is not discontiguous?

It's the other way round.

> And another question from problems we encountered recently, system with more
> than 4G memory installed will crash when X server shutdown. The reason is:
> 1> dom0 allocates memory for agp by calling agp_allocate_memory with GFP_DMA32
> set. This implies the pfn comes from memory lower than 4G, while mfn are
> likely to be from memory above 4G.
> 2> dom0 then call map_pages_to_apg, since the kernel of handles 32bit gart
> table, dom0 uses hypercall to change its memory mappings
> (xen_create_contiguous_region). Xen will pick proper memory below 4G and free
> those from the guest (likely to be from memory above 4G).
> 3> As the process goes on. More and more memory below 4G is return to dom0
> while leaving memory above 4G in xen. Finally, xen's reservation of memory
> below 4G for DMA are exhausted. This creates severe problems for us.
> 
> What is your comments on this? Both increase the reservation in Xen and using
> contiguous mappings are helpful in this cases. Which one do you prefer?

I'd need more info on the problem. I will point out that 64-bit Xen only
allocates memory below 4G when asked, or when there is no memory available
above 4G. Actually 32-bit Xen is the same, except the first chunk of dom0
memory allocated has to be below 1GB (because of limitations of Xen's
domain_build.c). So I'm not sure what more Xen can do?

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel