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

Reply via email to