From: Monk Liu Date: Fri, 1 Dec 2017 10:21:34 +0000 (+0800) Subject: drm/ttm: fix incorrect calculate on shrink_pages X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0aaa59f5256eb2d23f487c3e2c870c7bc0d043de;p=linux.git drm/ttm: fix incorrect calculate on shrink_pages shrink_pages is in unit of Order after ttm_page_pool_free, but it is used by nr_free in next round so need change it into native page unit Signed-off-by: Monk Liu Reviewed-by: Roger He Reviewed-by: Christian König Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc.c b/drivers/gpu/drm/ttm/ttm_page_alloc.c index 44343a2bf55c6..71945ccaf012c 100644 --- a/drivers/gpu/drm/ttm/ttm_page_alloc.c +++ b/drivers/gpu/drm/ttm/ttm_page_alloc.c @@ -455,6 +455,7 @@ ttm_pool_shrink_scan(struct shrinker *shrink, struct shrink_control *sc) freed += (nr_free_pool - shrink_pages) << pool->order; if (freed >= sc->nr_to_scan) break; + shrink_pages <<= pool->order; } mutex_unlock(&lock); return freed;