Skip to content
Commit 2c05114d authored by Konrad Rzeszutek Wilk's avatar Konrad Rzeszutek Wilk Committed by Dave Airlie
Browse files

drm/ttm/dma: Fix accounting error when calling ttm_mem_global_free_page and...


drm/ttm/dma: Fix accounting error when calling ttm_mem_global_free_page and don't try to free freed pages.

The code to figure out how many pages to shrink the pool
ends up capping the 'count' at _manager->options.max_size - which is OK.
Except that the 'count' is also used when accounting for how many pages
are recycled - which we end up with the invalid values. This fixes
it by using a different value for the amount of pages to shrink.

On top of that we would free the cached page pool - which is nonsense
as they are deleted from the pool - so there are no free pages in that
pool..

Also we also missed the opportunity to batch the amount of pages
to free (similar to how ttm_page_alloc.c does it). This reintroduces
the code that was lost during rebasing.

Reviewed-by: default avatarJerome Glisse <jglisse@redhat.com>
Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 36d7c537
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment