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@xxxxxxx>
---
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;