From: Dave Airlie <airl...@redhat.com>

Later memcg enablement needs the shrinker initialised before the list lru,
Just move it for now.

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 63eb81b18987..a4f4e27c6a1f 100644
--- a/drivers/gpu/drm/ttm/ttm_pool.c
+++ b/drivers/gpu/drm/ttm/ttm_pool.c
@@ -1382,6 +1382,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);
@@ -1404,17 +1415,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;
 }
 
-- 
2.49.0

Reply via email to