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

[Xen-changelog] [xen-unstable] Set default domain_to_node() allocation preference before dropping



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1215371784 -3600
# Node ID 5eaec8296a226f0d561da05d5faca250ff56112c
# Parent  8606ff75779f6f6c65d8b1dd4a9edfdff03378bf
Set default domain_to_node() allocation preference before dropping
domain reference when calling alloc_domheap_pages().
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 xen/common/memory.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff -r 8606ff75779f -r 5eaec8296a22 xen/common/memory.c
--- a/xen/common/memory.c       Sun Jul 06 17:22:58 2008 +0100
+++ b/xen/common/memory.c       Sun Jul 06 20:16:24 2008 +0100
@@ -287,7 +287,7 @@ static long memory_exchange(XEN_GUEST_HA
     unsigned long in_chunk_order, out_chunk_order;
     xen_pfn_t     gpfn, gmfn, mfn;
     unsigned long i, j, k;
-    unsigned int  memflags = 0;
+    unsigned int  node, memflags = 0;
     long          rc = 0;
     struct domain *d;
     struct page_info *page;
@@ -344,7 +344,10 @@ static long memory_exchange(XEN_GUEST_HA
         d,
         XENMEMF_get_address_bits(exch.out.mem_flags) ? :
         (BITS_PER_LONG+PAGE_SHIFT)));
-    memflags |= MEMF_node(XENMEMF_get_node(exch.out.mem_flags));
+    node = XENMEMF_get_node(exch.out.mem_flags);
+    if ( node == NUMA_NO_NODE )
+        node = domain_to_node(d);
+    memflags |= MEMF_node(node);
 
     for ( i = (exch.nr_exchanged >> in_chunk_order);
           i < (exch.in.nr_extents >> in_chunk_order);

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.