On 02.09.25 06:06, Dave Airlie wrote:
> From: Dave Airlie <airl...@redhat.com>
>
> Later memcg enablement needs the shrinker initialised before the list lru,
> Just move it for now.
Hui? That should just be the other way around.
The shrinker depends on the list lru and so needs to come after
ttm_pool_type_init() and not before.
Regards,
Christian.
>
> Signed-off-by: Dave Airlie <airl...@redhat.com>
> ---
> drivers/gpu/drm/ttm/ttm_pool.c | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_pool.c b/drivers/gpu/drm/ttm/ttm_pool.c
> index 9a8b4f824bc1..2c9969de7517 100644
> --- a/drivers/gpu/drm/ttm/ttm_pool.c
> +++ b/drivers/gpu/drm/ttm/ttm_pool.c
> @@ -1381,6 +1381,17 @@ int ttm_pool_mgr_init(unsigned long num_pages)
> spin_lock_init(&shrinker_lock);
> INIT_LIST_HEAD(&shrinker_list);
>
> + mm_shrinker = shrinker_alloc(SHRINKER_NUMA_AWARE, "drm-ttm_pool");
> + if (!mm_shrinker)
> + return -ENOMEM;
> +
> + mm_shrinker->count_objects = ttm_pool_shrinker_count;
> + mm_shrinker->scan_objects = ttm_pool_shrinker_scan;
> + mm_shrinker->batch = TTM_SHRINKER_BATCH;
> + mm_shrinker->seeks = 1;
> +
> + shrinker_register(mm_shrinker);
> +
> for (i = 0; i < NR_PAGE_ORDERS; ++i) {
> ttm_pool_type_init(&global_write_combined[i], NULL,
> ttm_write_combined, i);
> @@ -1403,17 +1414,6 @@ int ttm_pool_mgr_init(unsigned long num_pages)
> #endif
> #endif
>
> - mm_shrinker = shrinker_alloc(SHRINKER_NUMA_AWARE, "drm-ttm_pool");
> - if (!mm_shrinker)
> - return -ENOMEM;
> -
> - mm_shrinker->count_objects = ttm_pool_shrinker_count;
> - mm_shrinker->scan_objects = ttm_pool_shrinker_scan;
> - mm_shrinker->batch = TTM_SHRINKER_BATCH;
> - mm_shrinker->seeks = 1;
> -
> - shrinker_register(mm_shrinker);
> -
> return 0;
> }
>