summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2017-04-24 03:11:02 -0700
committerJason Ekstrand <[email protected]>2017-05-04 19:07:54 -0700
commitbb2a3f0df8e9f92e7694c3e643c38807bfa79902 (patch)
treee0f9fea2241e78c0790a68e597827d5298777a92
parent08413a81b93dc537fb0c34327ad162f07e8c3427 (diff)
anv/allocator: Get rid of the ability to free blocks
Now that everything is going through the state pools, the block pool no longer needs to be able to handle re-use. Reviewed-by: Juan A. Suarez Romero <[email protected]>
-rw-r--r--src/intel/vulkan/anv_allocator.c33
-rw-r--r--src/intel/vulkan/anv_private.h3
2 files changed, 2 insertions, 34 deletions
diff --git a/src/intel/vulkan/anv_allocator.c b/src/intel/vulkan/anv_allocator.c
index b7cf1136bbd..8569f692f63 100644
--- a/src/intel/vulkan/anv_allocator.c
+++ b/src/intel/vulkan/anv_allocator.c
@@ -258,8 +258,6 @@ anv_block_pool_init(struct anv_block_pool *pool,
pool->device = device;
anv_bo_init(&pool->bo, 0, 0);
- pool->free_list = ANV_FREE_LIST_EMPTY;
- pool->back_free_list = ANV_FREE_LIST_EMPTY;
pool->fd = memfd_create("block pool", MFD_CLOEXEC);
if (pool->fd == -1)
@@ -581,15 +579,6 @@ int32_t
anv_block_pool_alloc(struct anv_block_pool *pool,
uint32_t block_size)
{
- int32_t offset;
-
- /* Try free list first. */
- if (anv_free_list_pop(&pool->free_list, &pool->map, &offset)) {
- assert(offset >= 0);
- assert(pool->map);
- return offset;
- }
-
return anv_block_pool_alloc_new(pool, &pool->state, block_size);
}
@@ -606,16 +595,8 @@ int32_t
anv_block_pool_alloc_back(struct anv_block_pool *pool,
uint32_t block_size)
{
- int32_t offset;
-
- /* Try free list first. */
- if (anv_free_list_pop(&pool->back_free_list, &pool->map, &offset)) {
- assert(offset < 0);
- assert(pool->map);
- return offset;
- }
-
- offset = anv_block_pool_alloc_new(pool, &pool->back_state, block_size);
+ int32_t offset = anv_block_pool_alloc_new(pool, &pool->back_state,
+ block_size);
/* The offset we get out of anv_block_pool_alloc_new() is actually the
* number of bytes downwards from the middle to the end of the block.
@@ -627,16 +608,6 @@ anv_block_pool_alloc_back(struct anv_block_pool *pool,
}
void
-anv_block_pool_free(struct anv_block_pool *pool, int32_t offset)
-{
- if (offset < 0) {
- anv_free_list_push(&pool->back_free_list, pool->map, offset);
- } else {
- anv_free_list_push(&pool->free_list, pool->map, offset);
- }
-}
-
-void
anv_state_pool_init(struct anv_state_pool *pool,
struct anv_block_pool *block_pool,
uint32_t block_size)
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 9bc3fca1404..d66a2681dce 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -461,10 +461,8 @@ struct anv_block_pool {
*/
struct u_vector mmap_cleanups;
- union anv_free_list free_list;
struct anv_block_state state;
- union anv_free_list back_free_list;
struct anv_block_state back_state;
};
@@ -567,7 +565,6 @@ int32_t anv_block_pool_alloc(struct anv_block_pool *pool,
uint32_t block_size);
int32_t anv_block_pool_alloc_back(struct anv_block_pool *pool,
uint32_t block_size);
-void anv_block_pool_free(struct anv_block_pool *pool, int32_t offset);
void anv_state_pool_init(struct anv_state_pool *pool,
struct anv_block_pool *block_pool,
uint32_t block_size);