Lines Matching defs:pool
227 qlt_dma_handle_pool_t *pool;
229 pool = kmem_zalloc(sizeof (*pool), KM_SLEEP);
230 mutex_init(&pool->pool_lock, NULL, MUTEX_DRIVER, NULL);
231 qlt->qlt_dma_handle_pool = pool;
237 qlt_dma_handle_pool_t *pool;
240 pool = qlt->qlt_dma_handle_pool;
241 mutex_enter(&pool->pool_lock);
246 ASSERT(pool->num_free == pool->num_total);
247 if (pool->num_free != pool->num_total)
250 pool->num_free, pool->num_total);
251 handle = pool->free_list;
258 mutex_destroy(&pool->pool_lock);
259 kmem_free(pool, sizeof (*pool));
501 qlt_dma_handle_pool_t *pool;
508 * XXX Should there be a limit on pool size?
510 pool = qlt->qlt_dma_handle_pool;
511 mutex_enter(&pool->pool_lock);
512 while (handle_count > pool->num_free) {
513 mutex_exit(&pool->pool_lock);
516 mutex_enter(&pool->pool_lock);
517 tmp_handle->next = pool->free_list;
518 pool->free_list = tmp_handle;
519 pool->num_free++;
520 pool->num_total++;
528 first_handle = pool->free_list;
534 pool->free_list = tmp_handle;
535 pool->num_free -= handle_count;
536 mutex_exit(&pool->pool_lock);
547 qlt_dma_handle_pool_t *pool;
575 pool = qlt->qlt_dma_handle_pool;
576 mutex_enter(&pool->pool_lock);
577 last_handle->next = pool->free_list;
578 pool->free_list = first_handle;
579 pool->num_free += handle_count;
580 mutex_exit(&pool->pool_lock);