drm/ttm: optimize ttm pool shrinker a bit
Only initialize the DMA coherent pools if they are used. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: https://patchwork.freedesktop.org/patch/414957/
This commit is contained in:
Родитель
568517686f
Коммит
f987c9e0f5
|
@ -505,10 +505,12 @@ void ttm_pool_init(struct ttm_pool *pool, struct device *dev,
|
|||
pool->use_dma_alloc = use_dma_alloc;
|
||||
pool->use_dma32 = use_dma32;
|
||||
|
||||
for (i = 0; i < TTM_NUM_CACHING_TYPES; ++i)
|
||||
for (j = 0; j < MAX_ORDER; ++j)
|
||||
ttm_pool_type_init(&pool->caching[i].orders[j],
|
||||
pool, i, j);
|
||||
if (use_dma_alloc) {
|
||||
for (i = 0; i < TTM_NUM_CACHING_TYPES; ++i)
|
||||
for (j = 0; j < MAX_ORDER; ++j)
|
||||
ttm_pool_type_init(&pool->caching[i].orders[j],
|
||||
pool, i, j);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(ttm_pool_init);
|
||||
|
||||
|
@ -524,9 +526,11 @@ void ttm_pool_fini(struct ttm_pool *pool)
|
|||
{
|
||||
unsigned int i, j;
|
||||
|
||||
for (i = 0; i < TTM_NUM_CACHING_TYPES; ++i)
|
||||
for (j = 0; j < MAX_ORDER; ++j)
|
||||
ttm_pool_type_fini(&pool->caching[i].orders[j]);
|
||||
if (pool->use_dma_alloc) {
|
||||
for (i = 0; i < TTM_NUM_CACHING_TYPES; ++i)
|
||||
for (j = 0; j < MAX_ORDER; ++j)
|
||||
ttm_pool_type_fini(&pool->caching[i].orders[j]);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(ttm_pool_fini);
|
||||
|
||||
|
@ -631,6 +635,11 @@ int ttm_pool_debugfs(struct ttm_pool *pool, struct seq_file *m)
|
|||
{
|
||||
unsigned int i;
|
||||
|
||||
if (!pool->use_dma_alloc) {
|
||||
seq_puts(m, "unused\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
ttm_pool_debugfs_header(m);
|
||||
|
||||
spin_lock(&shrinker_lock);
|
||||
|
|
Загрузка…
Ссылка в новой задаче