> On Jan 12, 2017, at 08:37, Michal Hocko <mho...@kernel.org> wrote:
> 
> From: Michal Hocko <mho...@suse.com>
> 
> There are many code paths opencoding kvmalloc. Let's use the helper
> instead. The main difference to kvmalloc is that those users are usually
> not considering all the aspects of the memory allocator. E.g. allocation
> requests < 64kB are basically never failing and invoke OOM killer to
> satisfy the allocation. This sounds too disruptive for something that
> has a reasonable fallback - the vmalloc. On the other hand those
> requests might fallback to vmalloc even when the memory allocator would
> succeed after several more reclaim/compaction attempts previously. There
> is no guarantee something like that happens though.
> 
> This patch converts many of those places to kv[mz]alloc* helpers because
> they are more conservative.
> 
> Signed-off-by: Michal Hocko <mho...@suse.com>

Lustre part can be
Acked-by: Andreas Dilger <andreas.dil...@intel.com>

[snip]

> diff --git a/drivers/staging/lustre/lnet/libcfs/linux/linux-mem.c 
> b/drivers/staging/lustre/lnet/libcfs/linux/linux-mem.c
> index a6a76a681ea9..8f638267e704 100644
> --- a/drivers/staging/lustre/lnet/libcfs/linux/linux-mem.c
> +++ b/drivers/staging/lustre/lnet/libcfs/linux/linux-mem.c
> @@ -45,15 +45,6 @@ EXPORT_SYMBOL(libcfs_kvzalloc);
> void *libcfs_kvzalloc_cpt(struct cfs_cpt_table *cptab, int cpt, size_t size,
>                         gfp_t flags)
> {
> -     void *ret;
> -
> -     ret = kzalloc_node(size, flags | __GFP_NOWARN,
> -                        cfs_cpt_spread_node(cptab, cpt));
> -     if (!ret) {
> -             WARN_ON(!(flags & (__GFP_FS | __GFP_HIGH)));
> -             ret = vmalloc_node(size, cfs_cpt_spread_node(cptab, cpt));
> -     }
> -
> -     return ret;
> +     return kvzalloc_node(size, flags, cfs_cpt_spread_node(cptab, cpt));
> }
> EXPORT_SYMBOL(libcfs_kvzalloc_cpt);



Reply via email to