lkml.org 
[lkml]   [2019]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 2/5] mm/vmalloc.c: Introduce a wrapper function of insert_vmap_area_augment()
    Date
    The red-black tree whose root is free_vmap_area_root is called the
    *FREE* tree. Like the previous commit, add wrapper functions
    insert_va_to_free_tree and rename insert_vmap_area_augment to
    __insert_vmap_area_augment.

    Signed-off-by: Pengfei Li <lpf.vector@gmail.com>
    ---
    mm/vmalloc.c | 20 +++++++++++---------
    1 file changed, 11 insertions(+), 9 deletions(-)

    diff --git a/mm/vmalloc.c b/mm/vmalloc.c
    index 0a46be76c63b..a5065fcb74d3 100644
    --- a/mm/vmalloc.c
    +++ b/mm/vmalloc.c
    @@ -658,7 +658,7 @@ insert_va_to_busy_tree(struct vmap_area *va)
    }

    static void
    -insert_vmap_area_augment(struct vmap_area *va,
    +__insert_vmap_area_augment(struct vmap_area *va,
    struct rb_node *from, struct rb_root *root,
    struct list_head *head)
    {
    @@ -674,6 +674,13 @@ insert_vmap_area_augment(struct vmap_area *va,
    augment_tree_propagate_from(va);
    }

    +static __always_inline void
    +insert_va_to_free_tree(struct vmap_area *va, struct rb_node *from)
    +{
    + __insert_vmap_area_augment(va, from, &free_vmap_area_root,
    + &free_vmap_area_list);
    +}
    +
    /*
    * Merge de-allocated chunk of VA memory with previous
    * and next free blocks. If coalesce is not done a new
    @@ -979,8 +986,7 @@ adjust_va_to_fit_type(struct vmap_area *va,
    augment_tree_propagate_from(va);

    if (lva) /* type == NE_FIT_TYPE */
    - insert_vmap_area_augment(lva, &va->rb_node,
    - &free_vmap_area_root, &free_vmap_area_list);
    + insert_va_to_free_tree(lva, &va->rb_node);
    }

    return 0;
    @@ -1822,9 +1828,7 @@ static void vmap_init_free_space(void)
    free->va_start = vmap_start;
    free->va_end = busy->va_start;

    - insert_vmap_area_augment(free, NULL,
    - &free_vmap_area_root,
    - &free_vmap_area_list);
    + insert_va_to_free_tree(free, NULL);
    }
    }

    @@ -1837,9 +1841,7 @@ static void vmap_init_free_space(void)
    free->va_start = vmap_start;
    free->va_end = vmap_end;

    - insert_vmap_area_augment(free, NULL,
    - &free_vmap_area_root,
    - &free_vmap_area_list);
    + insert_va_to_free_tree(free, NULL);
    }
    }
    }
    --
    2.21.0
    \
     
     \ /
      Last update: 2019-07-02 16:16    [W:2.258 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site