• Home
  • Raw
  • Download

Lines Matching refs:pool

12 static struct intel_gt *to_gt(struct intel_gt_buffer_pool *pool)  in to_gt()  argument
14 return container_of(pool, struct intel_gt, buffer_pool); in to_gt()
18 bucket_for_size(struct intel_gt_buffer_pool *pool, size_t sz) in bucket_for_size() argument
28 if (n >= ARRAY_SIZE(pool->cache_list)) in bucket_for_size()
29 n = ARRAY_SIZE(pool->cache_list) - 1; in bucket_for_size()
31 return &pool->cache_list[n]; in bucket_for_size()
41 static bool pool_free_older_than(struct intel_gt_buffer_pool *pool, long keep) in pool_free_older_than() argument
48 for (n = 0; n < ARRAY_SIZE(pool->cache_list); n++) { in pool_free_older_than()
49 struct list_head *list = &pool->cache_list[n]; in pool_free_older_than()
54 if (spin_trylock_irq(&pool->lock)) { in pool_free_older_than()
77 spin_unlock_irq(&pool->lock); in pool_free_older_than()
93 struct intel_gt_buffer_pool *pool = in pool_free_work() local
94 container_of(wrk, typeof(*pool), work.work); in pool_free_work()
96 if (pool_free_older_than(pool, HZ)) in pool_free_work()
97 schedule_delayed_work(&pool->work, in pool_free_work()
105 struct intel_gt_buffer_pool *pool = node->pool; in pool_retire() local
106 struct list_head *list = bucket_for_size(pool, node->obj->base.size); in pool_retire()
118 spin_lock_irqsave(&pool->lock, flags); in pool_retire()
121 spin_unlock_irqrestore(&pool->lock, flags); in pool_retire()
123 schedule_delayed_work(&pool->work, in pool_retire()
141 node_create(struct intel_gt_buffer_pool *pool, size_t sz, in node_create() argument
144 struct intel_gt *gt = to_gt(pool); in node_create()
154 node->pool = pool; in node_create()
176 struct intel_gt_buffer_pool *pool = &gt->buffer_pool; in intel_gt_get_buffer_pool() local
182 list = bucket_for_size(pool, size); in intel_gt_get_buffer_pool()
199 spin_lock_irq(&pool->lock); in intel_gt_get_buffer_pool()
201 spin_unlock_irq(&pool->lock); in intel_gt_get_buffer_pool()
208 node = node_create(pool, size, type); in intel_gt_get_buffer_pool()
224 struct intel_gt_buffer_pool *pool = &gt->buffer_pool; in intel_gt_init_buffer_pool() local
227 spin_lock_init(&pool->lock); in intel_gt_init_buffer_pool()
228 for (n = 0; n < ARRAY_SIZE(pool->cache_list); n++) in intel_gt_init_buffer_pool()
229 INIT_LIST_HEAD(&pool->cache_list[n]); in intel_gt_init_buffer_pool()
230 INIT_DELAYED_WORK(&pool->work, pool_free_work); in intel_gt_init_buffer_pool()
235 struct intel_gt_buffer_pool *pool = &gt->buffer_pool; in intel_gt_flush_buffer_pool() local
238 while (pool_free_older_than(pool, 0)) in intel_gt_flush_buffer_pool()
240 } while (cancel_delayed_work_sync(&pool->work)); in intel_gt_flush_buffer_pool()
245 struct intel_gt_buffer_pool *pool = &gt->buffer_pool; in intel_gt_fini_buffer_pool() local
250 for (n = 0; n < ARRAY_SIZE(pool->cache_list); n++) in intel_gt_fini_buffer_pool()
251 GEM_BUG_ON(!list_empty(&pool->cache_list[n])); in intel_gt_fini_buffer_pool()