On Mon, 2015-11-02 at 12:12 -0500, Konrad Rzeszutek Wilk wrote: > And use it amongst the callers of this function.
I expect this will also need some (hopefully trivial) changes for ARM too? > > Signed-off-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> > --- > xen/arch/x86/mm/hap/hap.c | 2 +- > xen/arch/x86/mm/shadow/common.c | 2 +- > xen/common/domain.c | 2 +- > xen/common/domctl.c | 2 +- > xen/common/grant_table.c | 3 ++- > xen/common/vmap.c | 8 ++++---- > xen/include/asm-x86/domain.h | 4 ++-- > xen/include/xen/vmap.h | 4 ++-- > 8 files changed, 14 insertions(+), 13 deletions(-) > > diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c > index e9c0080..acc5219 100644 > --- a/xen/arch/x86/mm/hap/hap.c > +++ b/xen/arch/x86/mm/hap/hap.c > @@ -86,7 +86,7 @@ int hap_track_dirty_vram(struct domain *d, > } > > rc = -ENOMEM; > - dirty_bitmap = vzalloc(size); > + dirty_bitmap = vzalloc(size, MEMF_node(domain_to_node(d))); > if ( !dirty_bitmap ) > goto out; > > diff --git a/xen/arch/x86/mm/shadow/common.c > b/xen/arch/x86/mm/shadow/common.c > index bad355b..4169083 100644 > --- a/xen/arch/x86/mm/shadow/common.c > +++ b/xen/arch/x86/mm/shadow/common.c > @@ -3491,7 +3491,7 @@ int shadow_track_dirty_vram(struct domain *d, > if ( !nr ) > goto out; > > - dirty_bitmap = vzalloc(dirty_size); > + dirty_bitmap = vzalloc(dirty_size, MEMF_node(domain_to_node(d))); > if ( dirty_bitmap == NULL ) > { > rc = -ENOMEM; > diff --git a/xen/common/domain.c b/xen/common/domain.c > index b0378aa..55a94d4 100644 > --- a/xen/common/domain.c > +++ b/xen/common/domain.c > @@ -1223,7 +1223,7 @@ long do_vcpu_op(int cmd, unsigned int vcpuid, > XEN_GUEST_HANDLE_PARAM(void) arg) > if ( v->vcpu_info == &dummy_vcpu_info ) > return -EINVAL; > > - if ( (ctxt = alloc_vcpu_guest_context()) == NULL ) > + if ( (ctxt = > alloc_vcpu_guest_context(MEMF_node(domain_to_node(d)))) == NULL ) > return -ENOMEM; > > if ( copy_from_guest(ctxt, arg, 1) ) > diff --git a/xen/common/domctl.c b/xen/common/domctl.c > index 46b967e..b874b01 100644 > --- a/xen/common/domctl.c > +++ b/xen/common/domctl.c > @@ -492,7 +492,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) > u_domctl) > < sizeof(struct compat_vcpu_guest_context)); > #endif > ret = -ENOMEM; > - if ( (c.nat = alloc_vcpu_guest_context()) == NULL ) > + if ( (c.nat = > alloc_vcpu_guest_context(MEMF_node(domain_to_node(d)))) == NULL ) > break; > > #ifdef CONFIG_COMPAT > diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c > index c92abda..b86286f 100644 > --- a/xen/common/grant_table.c > +++ b/xen/common/grant_table.c > @@ -3200,7 +3200,8 @@ grant_table_create( > } > > /* Tracking of mapped foreign frames table */ > - t->maptrack = vzalloc(max_maptrack_frames * sizeof(*t->maptrack)); > + t->maptrack = vzalloc(max_maptrack_frames * sizeof(*t->maptrack), > + MEMF_node(domain_to_node(d))); > if ( t->maptrack == NULL ) > goto no_mem_2; > > diff --git a/xen/common/vmap.c b/xen/common/vmap.c > index c57239f..fd295b1 100644 > --- a/xen/common/vmap.c > +++ b/xen/common/vmap.c > @@ -216,7 +216,7 @@ void vunmap(const void *va) > vm_free(va); > } > > -void *vmalloc(size_t size) > +void *vmalloc(size_t size, unsigned int memflags) > { > mfn_t *mfn; > size_t pages, i; > @@ -232,7 +232,7 @@ void *vmalloc(size_t size) > > for ( i = 0; i < pages; i++ ) > { > - pg = alloc_domheap_page(NULL, 0); > + pg = alloc_domheap_page(NULL, memflags); > if ( pg == NULL ) > goto error; > mfn[i] = _mfn(page_to_mfn(pg)); > @@ -252,9 +252,9 @@ void *vmalloc(size_t size) > return NULL; > } > > -void *vzalloc(size_t size) > +void *vzalloc(size_t size, unsigned int memflags) > { > - void *p = vmalloc(size); > + void *p = vmalloc(size, memflags); > int i; > > if ( p == NULL ) > diff --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h > index f1d7ed6..a98bf3b 100644 > --- a/xen/include/asm-x86/domain.h > +++ b/xen/include/asm-x86/domain.h > @@ -577,9 +577,9 @@ void domain_cpuid(struct domain *d, > > #define domain_max_vcpus(d) (is_hvm_domain(d) ? HVM_MAX_VCPUS : > MAX_VIRT_CPUS) > > -static inline struct vcpu_guest_context *alloc_vcpu_guest_context(void) > +static inline struct vcpu_guest_context > *alloc_vcpu_guest_context(unsigned int memflags) > { > - return vmalloc(sizeof(struct vcpu_guest_context)); > + return vmalloc(sizeof(struct vcpu_guest_context), memflags); > } > > static inline void free_vcpu_guest_context(struct vcpu_guest_context > *vgc) > diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h > index 5671ac8..f24a29e 100644 > --- a/xen/include/xen/vmap.h > +++ b/xen/include/xen/vmap.h > @@ -11,8 +11,8 @@ void *__vmap(const mfn_t *mfn, unsigned int > granularity, > unsigned int nr, unsigned int align, unsigned int flags); > void *vmap(const mfn_t *mfn, unsigned int nr); > void vunmap(const void *); > -void *vmalloc(size_t size); > -void *vzalloc(size_t size); > +void *vmalloc(size_t size, unsigned int memflags); > +void *vzalloc(size_t size, unsigned int memflags); > void vfree(void *va); > > void __iomem *ioremap(paddr_t, size_t); _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel