Re: [PATCH] mm: introduce kv[mz]alloc helpers

From: Vlastimil Babka
Date: Fri Jan 06 2017 - 08:31:32 EST


On 01/02/2017 02:37 PM, Michal Hocko wrote:
> --- a/drivers/vhost/vhost.c
> +++ b/drivers/vhost/vhost.c
> @@ -514,18 +514,9 @@ long vhost_dev_set_owner(struct vhost_dev *dev)
> }
> EXPORT_SYMBOL_GPL(vhost_dev_set_owner);
>
> -static void *vhost_kvzalloc(unsigned long size)
> -{
> - void *n = kzalloc(size, GFP_KERNEL | __GFP_NOWARN | __GFP_REPEAT);

Hi, I just noticed that this had __GFP_REPEAT, so you'll probably want
to move these hunks to patch 3 with the rest of vhost.

> -
> - if (!n)
> - n = vzalloc(size);
> - return n;
> -}
> -
> struct vhost_umem *vhost_dev_reset_owner_prepare(void)
> {
> - return vhost_kvzalloc(sizeof(struct vhost_umem));
> + return kvzalloc(sizeof(struct vhost_umem), GFP_KERNEL);
> }
> EXPORT_SYMBOL_GPL(vhost_dev_reset_owner_prepare);
>
> @@ -1189,7 +1180,7 @@ EXPORT_SYMBOL_GPL(vhost_vq_access_ok);
>
> static struct vhost_umem *vhost_umem_alloc(void)
> {
> - struct vhost_umem *umem = vhost_kvzalloc(sizeof(*umem));
> + struct vhost_umem *umem = kvzalloc(sizeof(*umem), GFP_KERNEL);
>
> if (!umem)
> return NULL;
> @@ -1215,7 +1206,7 @@ static long vhost_set_memory(struct vhost_dev *d, struct vhost_memory __user *m)
> return -EOPNOTSUPP;
> if (mem.nregions > max_mem_regions)
> return -E2BIG;
> - newmem = vhost_kvzalloc(size + mem.nregions * sizeof(*m->regions));
> + newmem = kvzalloc(size + mem.nregions * sizeof(*m->regions), GFP_KERNEL);
> if (!newmem)
> return -ENOMEM;
>
> diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
> index 7ae43c59bc79..bb49409172d9 100644