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


[Xen-changelog] [xen-unstable] x86 numa: fix nodes' memory parsing when

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] x86 numa: fix nodes' memory parsing when SRAT table includes future-hotplug memory range
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 12 Aug 2009 07:45:33 -0700
Delivery-date: Wed, 12 Aug 2009 07:46:44 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1250082969 -3600
# Node ID ebb07c5934c8cc0090bbbd6ce17a558e73428339
# Parent  b3893b54d88533950ad72c32991e3f2cde05f89b
x86 numa: fix nodes' memory parsing when SRAT table includes future-hotplug 
memory range

A node's future-hotplug memory range starts from very high end
normally, e.g. 1TB, and is not continuous with its current existing
memory range. It should not be covered by the global variable 'nodes'
as it assumes the node's memory is continuous. Otherwise it can make
nodes' memory ranges become very big and overlapped, and
populate_memnodemap() fails.

We can ignore future-hotplug memory range for now. Physical memory
hotplug support in future will handle it.

Signed-off-by: Yang Xiaowei <xiaowei.yang@xxxxxxxxx>
 xen/arch/x86/srat.c |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff -r b3893b54d885 -r ebb07c5934c8 xen/arch/x86/srat.c
--- a/xen/arch/x86/srat.c       Wed Aug 12 14:13:54 2009 +0100
+++ b/xen/arch/x86/srat.c       Wed Aug 12 14:16:09 2009 +0100
@@ -189,10 +189,21 @@ acpi_numa_memory_affinity_init(struct ac
-       /* It is fine to add this area to the nodes data it will be used later*/
-       if (ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE)
-               printk(KERN_INFO "SRAT: hot plug zone found %"PRIx64" - 
%"PRIx64" \n",
+       if (ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE) {
+               if (page_is_ram_type(paddr_to_pfn(start), 
+                       printk(KERN_INFO "SRAT: hot-pluggable zone found 
%"PRIx64" - %"PRIx64" \n",
                                start, end);
+               else {
+                       /* TODO: This range contains no existing memory yet,
+                        * and shouldn't be included in nodes' [start, end]. It
+                        * will be covered with physical memory hotplug support
+                        * in future.
+                        */
+                       printk(KERN_INFO "SRAT: future hotplug zone found 
%"PRIx64" - %"PRIx64" \n",
+                               start, end);
+                       return;
+               }
+       }
        i = conflicting_nodes(start, end);
        if (i == node) {

Xen-changelog mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] x86 numa: fix nodes' memory parsing when SRAT table includes future-hotplug memory range, Xen patchbot-unstable <=