Lines Matching refs:queue
85 camq_fini(struct camq *queue) in camq_fini() argument
87 if (queue->queue_array != NULL) { in camq_fini()
92 queue->queue_array++; in camq_fini()
93 free(queue->queue_array, M_CAMQ); in camq_fini()
98 camq_resize(struct camq *queue, int new_size) in camq_resize() argument
102 KASSERT(new_size >= queue->entries, ("camq_resize: " in camq_resize()
104 new_size, queue->entries)); in camq_resize()
116 if (queue->queue_array != NULL) { in camq_resize()
117 queue->queue_array++; in camq_resize()
118 bcopy(queue->queue_array, new_array, in camq_resize()
119 queue->entries * sizeof(cam_pinfo *)); in camq_resize()
120 free(queue->queue_array, M_CAMQ); in camq_resize()
122 queue->queue_array = new_array-1; in camq_resize()
123 queue->array_size = new_size; in camq_resize()
133 camq_insert(struct camq *queue, cam_pinfo *new_entry) in camq_insert() argument
136 KASSERT(queue->entries < queue->array_size, in camq_insert()
138 queue->entries, queue->array_size)); in camq_insert()
139 queue->entries++; in camq_insert()
140 queue->queue_array[queue->entries] = new_entry; in camq_insert()
141 new_entry->index = queue->entries; in camq_insert()
142 if (queue->entries != 0) in camq_insert()
143 heap_up(queue->queue_array, queue->entries); in camq_insert()
153 camq_remove(struct camq *queue, int index) in camq_remove() argument
157 if (index <= 0 || index > queue->entries) in camq_remove()
159 "from queue %p of size %d", __func__, index, queue, in camq_remove()
160 queue->entries); in camq_remove()
162 removed_entry = queue->queue_array[index]; in camq_remove()
163 if (queue->entries != index) { in camq_remove()
164 queue->queue_array[index] = queue->queue_array[queue->entries]; in camq_remove()
165 queue->queue_array[index]->index = index; in camq_remove()
166 heap_down(queue->queue_array, index, queue->entries - 1); in camq_remove()
169 queue->entries--; in camq_remove()
180 camq_change_priority(struct camq *queue, int index, u_int32_t new_priority) in camq_change_priority() argument
182 if (new_priority > queue->queue_array[index]->priority) { in camq_change_priority()
183 queue->queue_array[index]->priority = new_priority; in camq_change_priority()
184 heap_down(queue->queue_array, index, queue->entries); in camq_change_priority()
187 queue->queue_array[index]->priority = new_priority; in camq_change_priority()
188 heap_up(queue->queue_array, index); in camq_change_priority()
277 if (new_size > ccbq->queue.array_size) in cam_ccbq_resize()
278 return (camq_resize(&ccbq->queue, new_size)); in cam_ccbq_resize()
287 if (camq_init(&ccbq->queue, in cam_ccbq_init()
299 camq_fini(&ccbq->queue); in cam_ccbq_fini()