[RFC PATCH 02/18] drm/ttm: Add per-BO eviction tracking

Christian König christian.koenig at amd.com
Thu Apr 25 06:18:38 UTC 2024


Am 24.04.24 um 18:56 schrieb Friedrich Vock:
> Make each buffer object aware of whether it has been evicted or not.

That reverts some changes we made a couple of years ago.

In general the idea is that eviction isn't something we need to reverse 
in TTM.

Rather the driver gives the desired placement.

Regards,
Christian.

>
> Signed-off-by: Friedrich Vock <friedrich.vock at gmx.de>
> ---
>   drivers/gpu/drm/ttm/ttm_bo.c |  1 +
>   include/drm/ttm/ttm_bo.h     | 11 +++++++++++
>   2 files changed, 12 insertions(+)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> index edf10618fe2b2..3968b17453569 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> @@ -980,6 +980,7 @@ int ttm_bo_init_reserved(struct ttm_device *bdev, struct ttm_buffer_object *bo,
>   	bo->pin_count = 0;
>   	bo->sg = sg;
>   	bo->bulk_move = NULL;
> +	bo->evicted_type = TTM_NUM_MEM_TYPES;
>   	if (resv)
>   		bo->base.resv = resv;
>   	else
> diff --git a/include/drm/ttm/ttm_bo.h b/include/drm/ttm/ttm_bo.h
> index 0223a41a64b24..8a1a29c6fbc50 100644
> --- a/include/drm/ttm/ttm_bo.h
> +++ b/include/drm/ttm/ttm_bo.h
> @@ -121,6 +121,17 @@ struct ttm_buffer_object {
>   	unsigned priority;
>   	unsigned pin_count;
>
> +	/**
> +	 * @evicted_type: Memory type this BO was evicted from, if any.
> +	 * TTM_NUM_MEM_TYPES if this BO was not evicted.
> +	 */
> +	int evicted_type;
> +	/**
> +	 * @evicted: Entry in the evicted list for the resource manager
> +	 * this BO was evicted from.
> +	 */
> +	struct list_head evicted;
> +
>   	/**
>   	 * @delayed_delete: Work item used when we can't delete the BO
>   	 * immediately
> --
> 2.44.0
>



More information about the dri-devel mailing list