[PATCH] drm/ttm: stop warning on TT shrinker failure

Christian König ckoenig.leichtzumerken at gmail.com
Fri Mar 19 14:08:57 UTC 2021


Don't print a warning when we fail to allocate a page for swapping things out.

Also rely on memalloc_nofs_save/memalloc_nofs_restore instead of GFP_NOFS.

Signed-off-by: Christian König <christian.koenig at amd.com>
---
 drivers/gpu/drm/ttm/ttm_tt.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/ttm/ttm_tt.c b/drivers/gpu/drm/ttm/ttm_tt.c
index 2f0833c98d2c..86fa3e82dacc 100644
--- a/drivers/gpu/drm/ttm/ttm_tt.c
+++ b/drivers/gpu/drm/ttm/ttm_tt.c
@@ -369,7 +369,7 @@ static unsigned long ttm_tt_shrinker_scan(struct shrinker *shrink,
 	};
 	int ret;
 
-	ret = ttm_bo_swapout(&ctx, GFP_NOFS);
+	ret = ttm_bo_swapout(&ctx, GFP_KERNEL | __GFP_NOWARN);
 	return ret < 0 ? SHRINK_EMPTY : ret;
 }
 
@@ -389,10 +389,13 @@ static unsigned long ttm_tt_shrinker_count(struct shrinker *shrink,
 static int ttm_tt_debugfs_shrink_show(struct seq_file *m, void *data)
 {
 	struct shrink_control sc = { .gfp_mask = GFP_KERNEL };
+	unsigned int flags;
 
 	fs_reclaim_acquire(GFP_KERNEL);
+	flags = memalloc_nofs_save();
 	seq_printf(m, "%lu/%lu\n", ttm_tt_shrinker_count(&mm_shrinker, &sc),
 		   ttm_tt_shrinker_scan(&mm_shrinker, &sc));
+	memalloc_nofs_restore(flags);
 	fs_reclaim_release(GFP_KERNEL);
 
 	return 0;
-- 
2.25.1



More information about the dri-devel mailing list