From: Keir Fraser Date: Sun, 6 Jul 2008 19:16:24 +0000 (+0100) Subject: Set default domain_to_node() allocation preference before dropping X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14188^2~91 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=4d5e3ff59601cf96b0251bb8b2efd1d937083b49;p=xen.git Set default domain_to_node() allocation preference before dropping domain reference when calling alloc_domheap_pages(). Signed-off-by: Keir Fraser --- diff --git a/xen/common/memory.c b/xen/common/memory.c index 983048a9a5..e4d1a59f87 100644 --- a/xen/common/memory.c +++ b/xen/common/memory.c @@ -287,7 +287,7 @@ static long memory_exchange(XEN_GUEST_HANDLE(xen_memory_exchange_t) arg) 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_HANDLE(xen_memory_exchange_t) arg) 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);