lkml.org 
[lkml]   [2020]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 23/29] mm: remove both instances of __vmalloc_node_flags
    Date
    The real version just had a few callers that can open code it and
    remove one layer of indirection. The nommu stub was public but only
    had a single caller, so remove it and avoid a CONFIG_MMU ifdef in
    vmalloc.h.

    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    ---
    include/linux/vmalloc.h | 9 ---------
    mm/nommu.c | 3 ++-
    mm/vmalloc.c | 20 ++++++--------------
    3 files changed, 8 insertions(+), 24 deletions(-)

    diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h
    index c1b9d6eca05f..4a46d296e70d 100644
    --- a/include/linux/vmalloc.h
    +++ b/include/linux/vmalloc.h
    @@ -115,17 +115,8 @@ extern void *__vmalloc_node_range(unsigned long size, unsigned long align,
    unsigned long start, unsigned long end, gfp_t gfp_mask,
    pgprot_t prot, unsigned long vm_flags, int node,
    const void *caller);
    -#ifndef CONFIG_MMU
    -extern void *__vmalloc_node_flags(unsigned long size, int node, gfp_t flags);
    -static inline void *__vmalloc_node_flags_caller(unsigned long size, int node,
    - gfp_t flags, void *caller)
    -{
    - return __vmalloc_node_flags(size, node, flags);
    -}
    -#else
    extern void *__vmalloc_node_flags_caller(unsigned long size,
    int node, gfp_t flags, void *caller);
    -#endif

    extern void vfree(const void *addr);
    extern void vfree_atomic(const void *addr);
    diff --git a/mm/nommu.c b/mm/nommu.c
    index 2df549adb22b..9553efa59787 100644
    --- a/mm/nommu.c
    +++ b/mm/nommu.c
    @@ -150,7 +150,8 @@ void *__vmalloc(unsigned long size, gfp_t gfp_mask)
    }
    EXPORT_SYMBOL(__vmalloc);

    -void *__vmalloc_node_flags(unsigned long size, int node, gfp_t flags)
    +void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags,
    + void *caller)
    {
    return __vmalloc(size, flags);
    }
    diff --git a/mm/vmalloc.c b/mm/vmalloc.c
    index de7952959e82..3d59d848ad48 100644
    --- a/mm/vmalloc.c
    +++ b/mm/vmalloc.c
    @@ -2566,14 +2566,6 @@ void *__vmalloc(unsigned long size, gfp_t gfp_mask)
    }
    EXPORT_SYMBOL(__vmalloc);

    -static inline void *__vmalloc_node_flags(unsigned long size,
    - int node, gfp_t flags)
    -{
    - return __vmalloc_node(size, 1, flags, node,
    - __builtin_return_address(0));
    -}
    -
    -
    void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags,
    void *caller)
    {
    @@ -2594,8 +2586,8 @@ void *__vmalloc_node_flags_caller(unsigned long size, int node, gfp_t flags,
    */
    void *vmalloc(unsigned long size)
    {
    - return __vmalloc_node_flags(size, NUMA_NO_NODE,
    - GFP_KERNEL);
    + return __vmalloc_node(size, 1, GFP_KERNEL, NUMA_NO_NODE,
    + __builtin_return_address(0));
    }
    EXPORT_SYMBOL(vmalloc);

    @@ -2614,8 +2606,8 @@ EXPORT_SYMBOL(vmalloc);
    */
    void *vzalloc(unsigned long size)
    {
    - return __vmalloc_node_flags(size, NUMA_NO_NODE,
    - GFP_KERNEL | __GFP_ZERO);
    + return __vmalloc_node(size, 1, GFP_KERNEL | __GFP_ZERO, NUMA_NO_NODE,
    + __builtin_return_address(0));
    }
    EXPORT_SYMBOL(vzalloc);

    @@ -2670,8 +2662,8 @@ EXPORT_SYMBOL(vmalloc_node);
    */
    void *vzalloc_node(unsigned long size, int node)
    {
    - return __vmalloc_node_flags(size, node,
    - GFP_KERNEL | __GFP_ZERO);
    + return __vmalloc_node(size, 1, GFP_KERNEL | __GFP_ZERO, node,
    + __builtin_return_address(0));
    }
    EXPORT_SYMBOL(vzalloc_node);

    --
    2.25.1
    \
     
     \ /
      Last update: 2020-04-14 15:34    [W:4.469 / U:0.592 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site