[PATCH 3/3] drm: Skip initialising the drm_mm_node->hole_stack

David Herrmann dh.herrmann at gmail.com
Wed Aug 3 17:49:00 UTC 2016


Hi Chris

On Wed, Aug 3, 2016 at 5:04 PM, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> As we always add this to the drm_mm->hole_stack as our first operation,
> we do not need to initialise the list node.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: David Herrmann <dh.herrmann at gmail.com>
> Cc: dri-devel at lists.freedesktop.org
> ---
>  drivers/gpu/drm/drm_mm.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)

"hole_follows" tells whether it is linked or not. So yeah, indeed, redundant.

Reviewed-by: David Herrmann <dh.herrmann at gmail.com>

Thanks
David

> diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c
> index 5c188c56894b..3f56d4b0cdae 100644
> --- a/drivers/gpu/drm/drm_mm.c
> +++ b/drivers/gpu/drm/drm_mm.c
> @@ -217,7 +217,6 @@ static void drm_mm_insert_helper(struct drm_mm_node *hole_node,
>         node->color = color;
>         node->allocated = 1;
>
> -       INIT_LIST_HEAD(&node->hole_stack);
>         list_add(&node->node_list, &hole_node->node_list);
>
>         drm_mm_interval_tree_add_node(hole_node, node);
> @@ -276,14 +275,13 @@ int drm_mm_reserve_node(struct drm_mm *mm, struct drm_mm_node *node)
>         node->mm = mm;
>         node->allocated = 1;
>
> -       INIT_LIST_HEAD(&node->hole_stack);
>         list_add(&node->node_list, &hole->node_list);
>
>         drm_mm_interval_tree_add_node(hole, node);
>
>         if (node->start == hole_start) {
>                 hole->hole_follows = 0;
> -               list_del_init(&hole->hole_stack);
> +               list_del(&hole->hole_stack);
>         }
>
>         node->hole_follows = 0;
> @@ -379,7 +377,6 @@ static void drm_mm_insert_helper_range(struct drm_mm_node *hole_node,
>         node->color = color;
>         node->allocated = 1;
>
> -       INIT_LIST_HEAD(&node->hole_stack);
>         list_add(&node->node_list, &hole_node->node_list);
>
>         drm_mm_interval_tree_add_node(hole_node, node);
> @@ -833,7 +830,6 @@ void drm_mm_init(struct drm_mm * mm, u64 start, u64 size)
>
>         /* Clever trick to avoid a special case in the free hole tracking. */
>         INIT_LIST_HEAD(&mm->head_node.node_list);
> -       INIT_LIST_HEAD(&mm->head_node.hole_stack);
>         mm->head_node.hole_follows = 1;
>         mm->head_node.scanned_block = 0;
>         mm->head_node.scanned_prev_free = 0;
> --
> 2.8.1
>


More information about the dri-devel mailing list