[Intel-gfx] [PATCH] drm/mm: remove invalid entry based optimization

Nirmoy nirmodas at amd.com
Mon Jun 8 16:42:01 UTC 2020


On 6/8/20 5:15 PM, Christian König wrote:
> When the current entry is rejected as candidate for the search
> it does not mean that we can abort the subtree search.
>
> It is perfectly possible that only the alignment, but not the
> size is the reason for the rejection.


I know why I  did that, I was testing with 8k alignment. So this was 
biased to optimize my test case.


>
> Signed-off-by: Christian König <christian.koenig at amd.com>


Reviewed-by: Nirmoy Das <nirmoy.das at amd.com>


> ---
>   drivers/gpu/drm/drm_mm.c | 6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c
> index 60e9a9c91e9d..82d2888eb7fe 100644
> --- a/drivers/gpu/drm/drm_mm.c
> +++ b/drivers/gpu/drm/drm_mm.c
> @@ -406,8 +406,7 @@ next_hole_high_addr(struct drm_mm_node *entry, u64 size)
>   		parent_rb_node = rb_parent(rb_node);
>   		left_node = rb_entry(left_rb_node,
>   				     struct drm_mm_node, rb_hole_addr);
> -		if ((left_node->subtree_max_hole < size ||
> -		     HOLE_SIZE(entry) == entry->subtree_max_hole) &&
> +		if (left_node->subtree_max_hole < size &&
>   		    parent_rb_node && parent_rb_node->rb_left != rb_node)
>   			return rb_hole_addr_to_node(parent_rb_node);
>   	}
> @@ -446,8 +445,7 @@ next_hole_low_addr(struct drm_mm_node *entry, u64 size)
>   		parent_rb_node = rb_parent(rb_node);
>   		right_node = rb_entry(right_rb_node,
>   				      struct drm_mm_node, rb_hole_addr);
> -		if ((right_node->subtree_max_hole < size ||
> -		     HOLE_SIZE(entry) == entry->subtree_max_hole) &&
> +		if (right_node->subtree_max_hole < size &&
>   		    parent_rb_node && parent_rb_node->rb_right != rb_node)
>   			return rb_hole_addr_to_node(parent_rb_node);
>   	}


More information about the Intel-gfx mailing list