[PATCH] drm/ttm: Make ttm shrinkers NUMA aware

Christian König ckoenig.leichtzumerken at gmail.com
Tue Apr 16 08:38:01 UTC 2024


Am 08.04.24 um 19:49 schrieb Rajneesh Bhardwaj:
> Otherwise the nid is always passed as 0 during memory reclaim so
> make TTM shrinkers NUMA aware.
>
> Signed-off-by: Rajneesh Bhardwaj <rajneesh.bhardwaj at amd.com>
> ---
>   drivers/gpu/drm/ttm/ttm_pool.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_pool.c b/drivers/gpu/drm/ttm/ttm_pool.c
> index dbc96984d331..514261f44b78 100644
> --- a/drivers/gpu/drm/ttm/ttm_pool.c
> +++ b/drivers/gpu/drm/ttm/ttm_pool.c
> @@ -794,7 +794,7 @@ int ttm_pool_mgr_init(unsigned long num_pages)
>   			    &ttm_pool_debugfs_shrink_fops);
>   #endif
>   
> -	mm_shrinker = shrinker_alloc(0, "drm-ttm_pool");
> +	mm_shrinker = shrinker_alloc(SHRINKER_NUMA_AWARE, "drm-ttm_pool");

Well that won't do it.

Setting the flag is just one step, but both ttm_pool_shrinker_scan() and 
ttm_pool_type_count() needs to be made NUMA aware.

This means that allocated_pages needs to become a per NID array and 
ttm_pool_shrink() should not shrink any pooĺ but only those with the 
correct nid (if the nid is set).

Regards,
Christian.

>   	if (!mm_shrinker)
>   		return -ENOMEM;
>   



More information about the dri-devel mailing list