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/
Home Products Support Community News


Re: [Xen-devel] numa=on broken

To: Ryan Harper <ryanh@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] numa=on broken
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Fri, 30 Mar 2007 18:51:22 +0100
Delivery-date: Fri, 30 Mar 2007 19:04:04 +0100
Envelope-to: Keir.Fraser@xxxxxxxxxxxx
In-reply-to: <20070330173432.GR28736@xxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acdy9AcYRV2Nht7nEdusYQAWy6hiGQ==
Thread-topic: [Xen-devel] numa=on broken
User-agent: Microsoft-Entourage/
On 30/3/07 18:34, "Ryan Harper" <ryanh@xxxxxxxxxx> wrote:

> Looking a little deeper, it looks like in end_boot_allocator() we are
> attempting to dynamically allocate memory for addition arrays in avail[]
> and for the heap.  This uses xmalloc() which relies on
> alloc_xenheap_pages() to work.  alloc_xenheap_pages() can't function
> until end_boot_allocator() completes.  Prior to end_boot_alloctor(), one
> needs to use alloc_boot_pages().
> Any thoughts on how to proceed here?

Since the buddy allocators are initialised with memory from address zero
upwards, I would expect everything to work fine if numa node zero always
owns the first block of physical memory. This is because we statically
allocate space for heap metadata for numa node zero (since even non-numa
machines have a 'numa node zero'), so by the time you need to allocate
memory for other numa nodes you're xenheap will be populated with memory.

So -- can we ensure that the node that owns low memory is node zero?

 -- Keir

Xen-devel mailing list