drm/ttm: Fix TTM BO accounting
authorFelix Kuehling <Felix.Kuehling@amd.com>
Fri, 8 Apr 2016 01:42:17 +0000 (21:42 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 May 2016 00:20:32 +0000 (20:20 -0400)
commit85621630f1cdc4ee50fca0bb2eddfd44208d9a45
treeb5d9abd0214d00995d88778c4f93f482075913ee
parent110e6f26af80dfd90b6e5c645b1aed7228aa580d
drm/ttm: Fix TTM BO accounting

TTM BO accounting is out of sync with how memory is really allocated
in ttm[_dma]_tt_alloc_page_directory. This resulted in excessive
estimated overhead with many small allocations.

ttm_dma_tt_alloc_page_directory makes a single allocation for three
arrays: pages, DMA and CPU addresses. It uses drm_calloc_large, which
uses kmalloc internally for allocations smaller than PAGE_SIZE.
ttm_round_pot should be a good approximation of its memory usage both
above and below PAGE_SIZE.

Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/ttm/ttm_bo.c